A suffix array represents the suffixes of a string in sorted order. Being a simpler and more compact alternative to suffix trees, it is an important tool for full text indexing and other string processing tasks. We introduce the skew algorithm for suffix array construction over integer alphabets that can be implemented to run in linear time using integer sorting as its only nontrivial subroutine: 1. recursively sort suffixes beginning at positions i mod 3 ≠ 0. 2. sort the remaining suffixes...
|
6121
|
Introduction to Algorithms
– Cormen, Leiserson, et al.
- 2001
|
|
928
|
A bridging model for parallel computation
– Valiant
- 1990
|
|
539
|
An Introduction to Parallel Algorithms
– JaJa
- 1992
|
|
449
|
Suffix arrays: a new method for on-line string searches
– Manber, Myers
- 1993
|
|
429
|
A space-economical suffix tree construction algorithm
– McCreight
- 1976
|
|
340
|
A block sorting lossless data compression algorithm
– Burrows, Wheeler
- 1994
|
|
269
|
Parallel merge sort
– Cole
- 1988
|
|
228
|
Fast Algorithms for Finding Nearest Common Ancestors
– Harel, Tarjan
- 1984
|
|
227
|
Algorithms for parallel memory I: two-level memories
– Vitter, Shriver
- 1994
|
|
203
|
On-line construction of suffix trees
– Ukkonen
- 1995
|
|
99
|
Optimal suffix tree construction with large alphabets
– Farach
- 1997
|
|
97
|
The LCA Problem Revisited
– Bender, Farach-Colton
- 2000
|
|
79
|
The string B-tree: A new data structure for string search in external memory and its applications
– Ferragina, Grossi
- 1999
|
|
78
|
Algorithms on Strings
– Gusfield
- 1997
|
|
60
|
Optimal and sublogarithmic time randomized parallel sorting algorithm
– Rajasekaran, Reif
- 1989
|
|
57
|
Deterministic distribution sort in shared and distributed memory multiprocessors
– Nodine, Vitter
- 1993
|
|
55
|
A space-economical su#x tree construction algorithm
– McCreight
- 1976
|
|
52
|
pattern matching algorithms
– Linear
|
|
51
|
Communication-efficient parallel sorting
– Goodrich
- 1996
|
|
51
|
Linear-Time LongestCommon-Prefix Computation in Suffix Arrays and its Applications
– Kasai, Lee, et al.
- 2001
|
|
50
|
E.: Replacing suffix trees with enhanced suffix arrays
– Abouelhoda, Kurtz, et al.
- 2004
|
|
45
|
T.: Nearest common ancestors: A survey and a new distributed algorithm
– Alstrup, Gavoille, et al.
- 2002
|
|
44
|
Space efficient linear time construction of suffix arrays
– Ko, Aluru
- 2003
|
|
38
|
Linear-time construction of suffix arrays
– Kim, Sim, et al.
- 2003
|
|
35
|
New indices for text: PAT trees and PAT arrays
– Gonnet, Baeza-Yates, et al.
- 1992
|
|
35
|
Faster Suffix Sorting
– Larsson, Sadakane
- 1999
|
|
34
|
The enhanced suffix array and its applications to genome analysis
– Abouelhoda, Kurtz, et al.
- 2002
|
|
34
|
New indices for text
– Gonnet, Baeza-Yates, et al.
|
|
33
|
Optimal Exact String Matching Based on Suffix Arrays
– Abouelhoda, Ohlebusch, et al.
- 2002
|
|
32
|
Breaking a time-and-space barrier in constructing full-text indexes
– Hon, Sadakane, et al.
|
|
32
|
Suffix cactus: a cross between suffix tree and suffix array
– Kärkkäinen
- 1995
|
|
31
|
On-line construction of su#x trees
– Ukkonen
- 1995
|
|
29
|
Overcoming the memory bottleneck in suffix tree construction
– Farach, Ferragina, et al.
- 1998
|
|
27
|
On the sorting-complexity of suffix tree construction
– Farach-Colton, Ferragina, et al.
|
|
27
|
Waste makes haste: Tight bounds for loose, parallel sorting
– Hagerup, Raman
- 1992
|
|
24
|
Fast algorithms for nearest common ancestors
– Harel, Tarjan
- 1984
|
|
23
|
Suffix trees on words
– Andersson, Larsson, et al.
- 1996
|
|
22
|
Optimal su#x tree construction with large alphabets
– Farach
- 1997
|
|
20
|
Greed sort: An optimal sorting algorithm for multiple disks
– Nodine, Vitter
- 1995
|
|
19
|
Fast lightweight suffix array construction and checking
– Burkhardt, Kärkkäinen
- 2003
|
|
19
|
Optimal merging and sorting
– Hagerup, Rub
- 1989
|
|
17
|
A theoretical and experimental study on the construction of suffix arrays in external memory
– Crauser, Ferragina
|
|
16
|
Constructing compressed suffix arrays with large alphabets
– Hon, Lam, et al.
- 2003
|
|
15
|
Optimal logarithmic time randomized suffix tree construction
– Farach, Muthukrishnan
- 1996
|
|
15
|
Asynchronous parallel disk sorting
– Dementiev, Sanders
|
|
13
|
Suffix trees and their applications in string algorithms
– Grossi, Italiano
- 1993
|
|
11
|
Better external memory suffix array construction
– Dementiev, Kärkkäinen, et al.
- 2005
|
|
10
|
A Note on Coarse Grained Parallel Integer Sorting
– Chan, Dehne
- 1999
|
|
8
|
Distributed and paged suffix trees for large genetic databases
– Clifford, Sergot
|
|
8
|
Fast BWT in small space by blockwise suffix sorting
– Kärkkäinen
|