2005
DOI: 10.1016/j.jda.2004.08.019
|View full text |Cite
|
Sign up to set email alerts
|

Constructing suffix arrays in linear time

Abstract: The time complexity of suffix tree construction has been shown to be equivalent to that of sorting: O(n) for a constant-size alphabet or an integer alphabet and O(n log n) for a general alphabet. However, previous algorithms for constructing suffix arrays have the time complexity of O(n log n) even for a constant-size alphabet.In this paper we present a linear-time algorithm to construct suffix arrays for integer alphabets, which do not use suffix trees as intermediate data structures during its construction. … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
41
0

Year Published

2005
2005
2014
2014

Publication Types

Select...
4
3
1

Relationship

0
8

Authors

Journals

citations
Cited by 83 publications
(41 citation statements)
references
References 26 publications
0
41
0
Order By: Relevance
“…The algorithm Compute LPF uses O(n) space. Using the fact that the suffix array of a string of length n over an integer alphabet can be computed in O(n) time by any of the algorithms in [7,9,11,12], we obtain: Theorem 1. Given a string of length n over an integer alphabet, the LPF and PrevOcc arrays can be computed in time and space O(n).…”
Section: A Direct Algorithmmentioning
confidence: 99%
“…The algorithm Compute LPF uses O(n) space. Using the fact that the suffix array of a string of length n over an integer alphabet can be computed in O(n) time by any of the algorithms in [7,9,11,12], we obtain: Theorem 1. Given a string of length n over an integer alphabet, the LPF and PrevOcc arrays can be computed in time and space O(n).…”
Section: A Direct Algorithmmentioning
confidence: 99%
“…Suffix arrays were first introduced in [46], where an O(n log n) construction algorithm and O(m + log n + |Occ T P |) query time were presented. Later, linear time construction algorithms for space efficient suffix arrays were presented [8,9,47,48]. The query time is also improved to optimal O(m + |Occ T P |) in [49] with the help of another array essentially storing the lengths of the longest common prefixes between lexicographically consecutive suffixes.…”
Section: Preliminariesmentioning
confidence: 99%
“…Finally, we note that there are several linear time suffix array construction methods that work with integer alphabet as well (e.g. [9,47]). …”
Section: Preliminariesmentioning
confidence: 99%
“…Given a text T over the alphabet Σ , the suffix tree [9,14] [10]. The details for suffix trees and suffix arrays are omitted here, since they are beyond the scope of this paper.…”
Section: Suffix Tree and Suffix Arraymentioning
confidence: 99%
“…When both P and T are onedimensional strings, the problem is also called string matching, which can be solved in linear time [11]. Similar to but different from string matching, the string indexing problem aims to preprocess T , so that P can be detected more efficiently [10,14]. Recently, related problems that involve matching [2][3][4][5] or indexing [12,13,15] scaled strings have drawn much attention, because they are considered realistic in the field of computer vision.…”
Section: Introductionmentioning
confidence: 99%