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 -