Suffix arrays: a new method for on-line string searches
SIAM Journal on Computing
A Generalization of the Suffix Tree to Square Matrices, with Applications
SIAM Journal on Computing
On the construction of classes of suffix trees for square matrices: algorithms and applications
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
Pattern matching algorithms
Suffix tree data structures for matrices
Pattern matching algorithms
On-line construction of two-dimensional suffix trees
Journal of Complexity
Proceedings of the tenth annual ACM-SIAM symposium on Discrete algorithms
A Space-Economical Suffix Tree Construction Algorithm
Journal of the ACM (JACM)
Faster suffix tree construction with missing suffix links
STOC '00 Proceedings of the thirty-second annual ACM symposium on Theory of computing
On the sorting-complexity of suffix tree construction
Journal of the ACM (JACM)
An Index Data Structure For Matrices, with Applications to Fast Two-Dimensional Pattern Matching
WADS '93 Proceedings of the Third Workshop on Algorithms and Data Structures
Linear-Time Construction of Two-Dimensional Suffix Trees
ICAL '99 Proceedings of the 26th International Colloquium on Automata, Languages and Programming
Lossless Image Compression Using Generalized LZ1-Type Methods
DCC '96 Proceedings of the Conference on Data Compression
Generalizations of suffix arrays to multi-dimensional matrices
Theoretical Computer Science
Linear pattern matching algorithms
SWAT '73 Proceedings of the 14th Annual Symposium on Switching and Automata Theory (swat 1973)
Theoretical Computer Science
A simple construction of two-dimensional suffix trees in linear time
CPM'07 Proceedings of the 18th annual conference on Combinatorial Pattern Matching
Hi-index | 0.00 |
The two-dimensional suffix tree of an n × n square matrix A is a compacted trie that represents all square submatrices of A [9]. For the off-line case, i.e., A is given in advance to the algorithm, it is known how to build it in optimal time, for any type of alphabet size [9,15]. Motivated by applications in Image Compression [18], Giancarlo and Guaiana [12] considered the on-line version of the two-dimensional suffix tree and presented an O(n2log2n)-time algorithm, which we refer to as GG. That algorithm is a non-trivial generalization of Ukkonen’s on-line algorithm for standard suffix trees [19]. The main contribution in this paper is an O(log n) factor improvement in the time complexity of the GG algorithm, making it optimal for unbounded alphabets [7]. Moreover, the ideas presented here also lead to a major simplification of the GG algorithm. Technically, we are able to preserve most of the structure of the original GG algorithm, by reducing a computational bottleneck to a primitive operation, i.e., comparison of Lcharacters, which is here implemented in constant time rather than O(log n) time as in GG. However, preserving that structure comes at a price. Indeed, in order to make everything work, we need a careful reorganization of another fundamental algorithm: Weiner’s algorithm for the construction of standard suffix trees [20]. Specifically, here we provide a version of that algorithm which takes linear time and works on-line and concurrently over a set of strings.