Reference Work Entry

Encyclopedia of Algorithms

pp 1-99

Suffix Array Construction

2006; Kärkkäinen, Sanders, Burkhardt
  • Juha KärkkäinenAffiliated withDepartment of Electrical Engineering and Computer ScienceMcCormick School of Engineering and Applied Science, Northwestern UniversityDepartment of Computer Science, University of Helsinki

Keywords and Synonyms

Suffix sorting; Full-text index construction   

Problem Definition

The suffix array [5,14] is the lexicographically sorted array of all the suffixes of a string. It is a popular text index structure with many applications. The subject of this entry are algorithms that construct the suffix array.

More precisely, the input to a suffix array construction algorithm is a text string\( { T=T[0,n)=t_0t_1\cdots t_{n-1} } \), i. e., a sequence of ncharacters from an alphabet Σ. For \( { i\in[0,n] } \), let Si denote the suffix\( { T[i,n)=t_it_{i+1}\cdots t_{n-1} } \). The output is the suffix array\( { SA[0,n] } \) of T, a permutation of \( { [0,n] } \) satisfying \( { S_{SA[0]}<S_{SA[1]}<\cdots<S_{SA[n]} } \), where \( { < } \) denotes the lexicographic order of strings.

Two specific models for the alphabet Σ are considered. An ordered alphabet is an arbitrary ordered set with constant time character compa ...

This is an excerpt from the content