What is the time complexity of searching in a suffix array?

Searching Algorithms Questions Medium



24 Short 58 Medium 71 Long Answer Questions Question Index

What is the time complexity of searching in a suffix array?

The time complexity of searching in a suffix array is O(m*log(n)), where m is the length of the pattern being searched and n is the length of the text or string in the suffix array.

Suffix array is a data structure that stores all the suffixes of a given text or string in sorted order. It is commonly used in string matching and searching algorithms. To search for a pattern in a suffix array, we can use binary search.

Binary search has a time complexity of O(log(n)), where n is the number of elements in the array. In the case of a suffix array, the number of elements is equal to the length of the text or string.

However, in order to compare the pattern with the suffixes during the binary search, we need to compare characters from the pattern with the corresponding characters in the suffixes. This comparison takes O(m) time, where m is the length of the pattern.

Since we perform binary search on the suffix array and compare characters in each step, the overall time complexity of searching in a suffix array is O(m*log(n)).