You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There exist algorithms that construct the suffix array in linear time (given that the number of alphabets is constant). An example algorithm that's known is small/large suffixes. It would be nice for the article to go over such algorithms.
The text was updated successfully, but these errors were encountered:
I would like to contribute an efficient implementation of the suffix array construction algorithm in linear time (O(n)), using the SA-IS (Suffix Array Induced Sorting) algorithm or also called Skew Algorithm.
Key Steps:
Suffix Partitioning: The suffixes of a string are divided into three groups based on their positions:
(0 \mod 3)
(1 \mod 3)
(2 \mod 3)
Recursive Sorting: Suffixes from the (1 \mod 3) and (2 \mod 3) groups are sorted using radix sort, recursively processing until a small enough set is reached.
Merging: The sorted (1 \mod 3) and (2 \mod 3) suffixes are merged with the (0 \mod 3) suffixes to form the final sorted order.
The Skew algorithm is notable for its combination of partitioning, recursion, and efficient merging to achieve linear-time suffix array construction.
There exist algorithms that construct the suffix array in linear time (given that the number of alphabets is constant). An example algorithm that's known is small/large suffixes. It would be nice for the article to go over such algorithms.
The text was updated successfully, but these errors were encountered: