TY - GEN
T1 - Towards real-time suffix tree construction
AU - Amir, Amihood
AU - Kopelowitz, Tsvi
AU - Lewenstein, Moshe
AU - Lewenstein, Noa
PY - 2005
Y1 - 2005
N2 - The quest for a real-time suffix tree construction algorithm is over three decades old. To date there is no convincing understandable solution to this problem. This paper makes a step in this direction by constructing a suffix tree online in time O(log n) per every single input symbol. Clearly, it is impossible to achieve better than O(log n) time per symbol in the comparison model, therefore no true real time algorithm can exist for infinite alphabets. Nevertheless, the best that can be hoped for is that the construction time for every symbol does not exceed O(log n) (as opposed to an amortized O(log n) time per symbol, achieved by current known algorithms). To our knowledge, our algorithm is the first that spends in the worst case O(log n) per every single input symbol. We also provide a simple algorithm that constructs online an indexing structure (the BIS) in time O(log n) per input symbol, where n is the number of text symbols input thus far. This structure and fast LCP (Longest Common Prefix) queries on it, provide the backbone for the suffix tree construction. Together, our two data structures provide a searching algorithm for a pattern of length m whose time is O(min(m log |Σ|, m + log n) + tocc), where tocc is the number of occurrences of the pattern.
AB - The quest for a real-time suffix tree construction algorithm is over three decades old. To date there is no convincing understandable solution to this problem. This paper makes a step in this direction by constructing a suffix tree online in time O(log n) per every single input symbol. Clearly, it is impossible to achieve better than O(log n) time per symbol in the comparison model, therefore no true real time algorithm can exist for infinite alphabets. Nevertheless, the best that can be hoped for is that the construction time for every symbol does not exceed O(log n) (as opposed to an amortized O(log n) time per symbol, achieved by current known algorithms). To our knowledge, our algorithm is the first that spends in the worst case O(log n) per every single input symbol. We also provide a simple algorithm that constructs online an indexing structure (the BIS) in time O(log n) per input symbol, where n is the number of text symbols input thus far. This structure and fast LCP (Longest Common Prefix) queries on it, provide the backbone for the suffix tree construction. Together, our two data structures provide a searching algorithm for a pattern of length m whose time is O(min(m log |Σ|, m + log n) + tocc), where tocc is the number of occurrences of the pattern.
UR - http://www.scopus.com/inward/record.url?scp=33646723485&partnerID=8YFLogxK
U2 - 10.1007/11575832_9
DO - 10.1007/11575832_9
M3 - ???researchoutput.researchoutputtypes.contributiontobookanthology.conference???
AN - SCOPUS:33646723485
SN - 3540297405
SN - 9783540297406
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 67
EP - 78
BT - String Processing and Information Retrieval - 12th International Conference, SPIRE 2005, Proceedings
T2 - 12th International Conference on String Processing and Information Retrieval, SPIRE 2005
Y2 - 2 November 2005 through 4 November 2005
ER -