An implicit data structure supporting insertion, deletion, and search in O(log:OS2:OEn) time
Journal of Computer and System Sciences
On finding lowest common ancestors: simplification and parallelization
SIAM Journal on Computing
Suffix arrays: a new method for on-line string searches
SIAM Journal on Computing
The string B-tree: a new data structure for string search in external memory and its applications
Journal of the ACM (JACM)
Let sleeping files lie: pattern matching in Z-compressed files
SODA '94 Proceedings of the fifth annual ACM-SIAM symposium on Discrete algorithms
A Space-Economical Suffix Tree Construction Algorithm
Journal of the ACM (JACM)
Membership in Constant Time and Almost-Minimum Space
SIAM Journal on Computing
Low Redundancy in Static Dictionaries with Constant Query Time
SIAM Journal on Computing
Tight Bounds for Searching a Sorted Array of Strings
SIAM Journal on Computing
High-order entropy-compressed text indexes
SODA '03 Proceedings of the fourteenth annual ACM-SIAM symposium on Discrete algorithms
LATIN '00 Proceedings of the 4th Latin American Symposium on Theoretical Informatics
COCOON '96 Proceedings of the Second Annual International Conference on Computing and Combinatorics
Proceedings of the 16th Conference on Foundations of Software Technology and Theoretical Computer Science
Linear-Time Longest-Common-Prefix Computation in Suffix Arrays and Its Applications
CPM '01 Proceedings of the 12th Annual Symposium on Combinatorial Pattern Matching
Breaking a Time-and-Space Barrier in Constructing Full-Text Indices
FOCS '03 Proceedings of the 44th Annual IEEE Symposium on Foundations of Computer Science
Lyndon words, permutations and trees
Theoretical Computer Science - WORDS
New text indexing functionalities of the compressed suffix arrays
Journal of Algorithms
A categorization theorem on suffix arrays with applications to space efficient text indexes
SODA '05 Proceedings of the sixteenth annual ACM-SIAM symposium on Discrete algorithms
Journal of the ACM (JACM)
Compressed Suffix Arrays and Suffix Trees with Applications to Text Indexing and String Matching
SIAM Journal on Computing
Cache-oblivious string B-trees
Proceedings of the twenty-fifth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
A note on the Burrows-Wheeler transformation
Theoretical Computer Science
ACM Computing Surveys (CSUR)
Linear work suffix array construction
Journal of the ACM (JACM)
Compressed representations of sequences and full-text indexes
ACM Transactions on Algorithms (TALG)
A taxonomy of suffix array construction algorithms
ACM Computing Surveys (CSUR)
Succinct indexable dictionaries with applications to encoding k-ary trees, prefix sums and multisets
ACM Transactions on Algorithms (TALG)
ACM Transactions on Algorithms (TALG)
Counting suffix arrays and strings
Theoretical Computer Science
The Burrows-Wheeler Transform: Data Compression, Suffix Arrays, and Pattern Matching
The Burrows-Wheeler Transform: Data Compression, Suffix Arrays, and Pattern Matching
Linear pattern matching algorithms
SWAT '73 Proceedings of the 14th Annual Symposium on Switching and Automata Theory (swat 1973)
The myriad virtues of Wavelet Trees
Information and Computation
Fast lightweight suffix array construction and checking
CPM'03 Proceedings of the 14th annual conference on Combinatorial pattern matching
Linear-time construction of suffix arrays
CPM'03 Proceedings of the 14th annual conference on Combinatorial pattern matching
Compression, indexing, and retrieval for massive string data
CPM'10 Proceedings of the 21st annual conference on Combinatorial pattern matching
Data structures: time, I/Os, entropy, joules!
ESA'10 Proceedings of the 18th annual European conference on Algorithms: Part II
Two-dimensional range minimum queries
CPM'07 Proceedings of the 18th annual conference on Combinatorial Pattern Matching
Optimal lightweight construction of suffix arrays for constant alphabets
WADS'07 Proceedings of the 10th international conference on Algorithms and Data Structures
On the combinatorics of suffix arrays
Information Processing Letters
Hi-index | 5.24 |
Suffix arrays are a key data structure for solving a run of problems on texts and sequences, from data compression and information retrieval to biological sequence analysis and pattern discovery. In their simplest version, they can just be seen as a permutation of the elements in {1,2,...,n}, encoding the sorted sequence of suffixes from a given text of length n, under the lexicographic order. Yet, they are on a par with ubiquitous and sophisticated suffix trees. Over the years, many interesting combinatorial properties have been devised for this special class of permutations: for instance, they can implicitly encode extra information, and they are a well characterized subset of the n! permutations. This paper gives a short tutorial on suffix arrays and their compressed version to explore and review some of their algorithmic features, discussing the space issues related to their usage in text indexing, combinatorial pattern matching, and data compression.