Simple Linear Work Suffix Array Construction

@inproceedings{Krkkinen2003SimpleLW,
  title={Simple Linear Work Suffix Array Construction},
  author={Juha K{\"a}rkk{\"a}inen and Peter Sanders},
  booktitle={ICALP},
  year={2003}
}
A suffix array represents the suffixes of a string in sorted order. [] Key Method 2. sort the remaining suffixes using the information obtained in step one. 3. merge the two sorted sequences obtained in steps one and two. The algorithm is much simpler than previous linear time algorithms that are all based on the more complicated suffix tree data structure. Since sorting is a well studied problem, we obtain optimal algorithms for several other models of computation, e.g. external memory with parallel…
Space efficient linear time construction of suffix arrays
Linear work suffix array construction
TLDR
A generalized algorithm, DC, that allows a space-efficient implementation and, moreover, supports the choice of a space--time tradeoff and is asymptotically faster than all previous suffix tree or array construction algorithms.
Parallel Construction of Suffix Trees and the All-Nearest-Smaller-Values Problem
  • P. Flick, S. Aluru
  • Computer Science
    2017 IEEE International Parallel and Distributed Processing Symposium (IPDPS)
  • 2017
TLDR
A more generalized version of the ANSV problem is formulated, and a distributed-memory parallel algorithm for solving it in O(n/p +p) time is presented, yielding both superior theoretical complexity and better practical performance compared to previous distributed- memory algorithms.
A simple parallel cartesian tree algorithm and its application to parallel suffix tree construction
TLDR
It is shown that bottom-up traversals of the multiway Cartesian tree on the interleaved suffix array and longest common prefix array of a string can be used to answer certain string queries.
A Simple Parallel Cartesian Tree Algorithm and its Application to Suffix Tree Construction
TLDR
A simple linear work and space, and poly-logarithmic time parallel algorithm for generating multiway Cartesian trees that is competitive with the sequential version on a single processor and achieves good speedup on multiple processors.
An elegant algorithm for the construction of suffix arrays
Parallel suffix array and least common prefix for the GPU
TLDR
It is concluded that skew algorithm, a linear time recursive algorithm, is the best candidate for GPUs as all its phases can be efficiently mapped to a data parallel hardware.
A Fast Algorithm for Constructing Suffix Arrays for Fixed-Size Alphabets
TLDR
This paper presents a fast algorithm for constructing suffix arrays for the fixed-size alphabet that constructs suffix arrays faster than any other algorithms developed for integer or general alphabets when the size of the alphabet is fixed.
Dynamic extended suffix arrays
Computing Quasi Suffix Arrays
TLDR
It is shown that a quasi suffix array encodes enough of the structure of the string to be a useful construct for many applications where the full power of suffix arrays is not necessary, notably in problems that do not require lexicographical order.
...
...

References

SHOWING 1-10 OF 70 REFERENCES
Space efficient linear time construction of suffix arrays
Linear Time Construction of Suffix Arrays
TLDR
A linear time algorithm to sort all the suffixes of a string over a large alphabet of integers, which improves upon the best known direct algorithm for suffix sorting, which takes O(n log n) time.
On the sorting-complexity of suffix tree construction
TLDR
A recursive technique for building suffix trees that yields optimal algorithms in different computational models that match the sorting lower bound and for an alphabet consisting of integers in a polynomial range the authors get the first known linear-time algorithm.
Suffix arrays: a new method for on-line string searches
TLDR
A new and conceptually simple data structure, called a suffixarray, for on-line string searches is introduced in this paper, and it is believed that suffixarrays will prove to be better in practice than suffixtrees for many applications.
Parallel suffix sorting
TLDR
The focus is on deriving a practical implementation that works well for typical inputs rather than achieving the best possible asymptotic running-time for artificial, worst-case inputs.
Overcoming the memory bottleneck in suffix tree construction
TLDR
A new algorithm for suffix tree construction in which almost all disk accesses to be via the sort and scan primitives is choreographed, which is the first optimal algorithm known for either model.
Suffix trees and their applications in string algorithms
TLDR
Special emphasis is given to the most recent developments in this area, such as parallel algorithms for suffix tree construction and generalizations of suffix trees to higher dimensions, which are important in multidimensional pattern matching.
Optimal Logarithmic Time Randomized Suffix Tree Construction
TLDR
A novel, simple sequential algorithm is presented that constructs the suffix tree of a binary string of length n in O (log n) time and O(n) work with high probability, in contrast to the previously known work-optimal algorithms.
A Theoretical and Experimental Study on the Construction of Suffix Arrays in External Memory
TLDR
A new external-memory algorithm is devised that follows the basic philosophy underlying that algorithm but in a significantly different manner, thus resulting in a novel approach which combines good worst-case bounds with efficient practical performance.
On-line construction of suffix trees
TLDR
An on-line algorithm is presented for constructing the suffix tree for a given string in time linear in the length of the string, developed as a linear-time version of a very simple algorithm for (quadratic size) suffixtries.
...
...