Maintaining order in a generalized linked list
Acta Informatica
Theoretical Computer Science
Two algorithms for maintaining order in a list
STOC '87 Proceedings of the nineteenth annual ACM symposium on Theory of computing
Complete inverted files for efficient text retrieval and analysis
Journal of the ACM (JACM)
Suffix arrays: a new method for on-line string searches
SIAM Journal on Computing
Text algorithms
Improved dynamic dictionary matching
Information and Computation
Algorithms on strings, trees, and sequences: computer science and computational biology
Algorithms on strings, trees, and sequences: computer science and computational biology
PATRICIA—Practical Algorithm To Retrieve Information Coded in Alphanumeric
Journal of the ACM (JACM)
A Space-Economical Suffix Tree Construction Algorithm
Journal of the ACM (JACM)
On the sorting-complexity of suffix tree construction
Journal of the ACM (JACM)
Communications of the ACM
Fast Incremental Planarity Testing
ICALP '92 Proceedings of the 19th International Colloquium on Automata, Languages and Programming
Constructing the Suffix Tree of a Tree with a Large Alphabet
ISAAC '99 Proceedings of the 10th International Symposium on Algorithms and Computation
Computation of Squares in a String (Preliminary Version)
CPM '94 Proceedings of the 5th Annual Symposium on Combinatorial Pattern Matching
Two Simplified Algorithms for Maintaining Order in a List
ESA '02 Proceedings of the 10th Annual European Symposium on Algorithms
Optimal suffix tree construction with large alphabets
FOCS '97 Proceedings of the 38th Annual Symposium on Foundations of Computer Science
Finding Maximal Repetitions in a Word in Linear Time
FOCS '99 Proceedings of the 40th Annual Symposium on Foundations of Computer Science
Linear time algorithms for finding and representing all the tandem repeats in a string
Journal of Computer and System Sciences
Linear work suffix array construction
Journal of the ACM (JACM)
Linear pattern matching algorithms
SWAT '73 Proceedings of the 14th Annual Symposium on Switching and Automata Theory (swat 1973)
A four-stage algorithm for updating a Burrows-Wheeler transform
Theoretical Computer Science
Range Non-overlapping Indexing
ISAAC '09 Proceedings of the 20th International Symposium on Algorithms and Computation
Construction of Aho Corasick automaton in linear time for integer alphabets
Information Processing Letters
Dynamic extended suffix arrays
Journal of Discrete Algorithms
Near real-time suffix tree construction via the fringe marked ancestor problem
SPIRE'11 Proceedings of the 18th international conference on String processing and information retrieval
On suffix extensions in suffix trees
SPIRE'11 Proceedings of the 18th international conference on String processing and information retrieval
Hi-index | 5.23 |
Suffix trees are inherently asymmetric: prefix extensions only cause a few updates, while suffix extensions affect all suffixes causing a wave of updates. In his elegant linear-time on-line suffix tree algorithm Ukkonen relaxed the prevailing suffix tree representation and introduced two changes to avoid repeated structural updates and circumvent the inherent complexity of suffix extensions: (1) open ended edges that enjoy gratuitous leaf updates, and (2) the omission of implicit nodes. In this paper we study the implicit nodes as the suffix tree evolves. We partition the suffix tree's edges into collections of similar edges called bands, where implicit nodes exhibit identical behavior, and generalize the notion of open ended edges to allow implicit nodes to ''float'' within bands, only requiring updates when moving from one band to the next, adding up to only O(n) updates. We also show that internal implicit nodes are separated from each other by explicit suffix tree nodes and that all external implicit nodes are related to the same periodicity. These new properties may be used to keep track of the waves of implicit node updates and to build the suffix tree on-line in amortized linear time, providing access to all the implicit nodes in worst-case constant time.