Abstract
The two-dimensional suffix tree of a matrix A is a compacted tree that represents all square submatrices of A. We present the first complete version of a deterministic linear-time algorithm to construct the two-dimensional suffix tree by applying a divide-and-conquer approach.
Similar content being viewed by others
References
Aho, A.V., Hopcroft, J.E., Ullman, J.D.: The Design and Analysis of Computer Algorithms. Addison-Wesley, Reading (1974)
Amir, A., Farach, M.: Two-dimensional dictionary matching. Inf. Process. Lett. 21, 233–239 (1992)
Apostolico, A.: The myriad virtues of subword trees. In: Apostolico, A., Galil, Z. (eds.) Combinatorial Algorithms on Words, pp. 85–95. Springer, Berlin (1985)
Baker, B.: Parameterized pattern matching: Algorithms and applications. J. Comput. Syst. Sci. 52(1), 28–42 (1996)
Cole, R., Hariharan, R.: Faster suffix tree construction with missing suffix links. SIAM J. Comput. 33(1), 26–42 (2003)
Crochemore, M., Rytter, W.: Jewels of Stringology. World Scientific, Singapore (2002)
Dobkin, D., Lipton, R.: On the complexity of computations under varying set of primitives. J. Comput. Syst. Sci. 18, 86–91 (1979)
Farach, M., Muthukrishnan, S.: Optimal logarithmic time randomized suffix tree construction. In: Proceedings of the 23rd International Colloquium on Automata, Languages, and Programming, pp. 550–561 (1996)
Farach-Colton, M., Ferragina, P., Muthukrishnan, S.: On the sorting-complexity of suffix tree construction. J. ACM 47(6), 987–1011 (2000)
Giancarlo, R.: An index data structure for matrices, with applications to fast two-dimensional pattern matching. In: Proceedings of Workshop on Algorithm and Data Structures, pp. 337–348. Springer, Berlin (1993)
Giancarlo, R.: A generalization of the suffix tree to square matrices, with application. SIAM J. Comput. 24(3), 520–562 (1995)
Giancarlo, R., Grossi, R.: On the construction of classes of suffix trees for square matrices: algorithms and applications. Inf. Comput. 130(2), 151–182 (1996)
Giancarlo, R., Grossi, R.: Suffix tree data structures for matrices. In: Apostolico, A., Galil, Z. (eds.) Pattern Matching Algorithms, pp. 293–340. Oxford University Press, Oxford (1997)
Giancarlo, R., Guaiana, D.: On-line construction of two-dimensional suffix trees. J. Complex. 15(1), 72–127 (1999)
Gonnet, G.H.: Efficient searching of text and pictures. Technical Report OED-88-02, University of Waterloo (1988)
Gusfield, D.: Algorithms on Strings, Tree, and Sequences. Cambridge University Press, Cambridge (1997)
Harel, D., Tarjan, R.: Fast algorithms for finding nearest common ancestors. SIAM J. Comput. 13(2), 338–355 (1984)
Kärkkäinen, J., Sanders, P., Burkhardt, S.: Linear work suffix array construction. J. ACM 53(6), 918–936 (2006)
Kim, D.K., Kim, Y.A., Park, K.: Generalizations of suffix arrays to multi-dimensional matrices. Theor. Comput. Sci. 302(1–3), 401–416 (2003)
Kim, D.K., Na, J.C., Sim, J.S., Park, K.: A simple construction of two-dimensional suffix trees in linear time. In: Proceedings of the 18th Symposium on Combinatorial Pattern Matching, pp. 352–364 (2007)
Kim, D.K., Park, K.: Linear-time construction of two-dimensional suffix trees. In: Proceedings of the 26th International Colloquium on Automata, Languages, and Programming, pp. 463–472 (1999)
Kim, D.K., Sim, J.S., Park, H., Park, K.: Constructing suffix arrays in linear time. J. Discrete Algorithms 3(2–4), 126–142 (2005)
Ko, P., Aluru, S.: Space efficient linear time construction of suffix arrays. J. Discrete Algorithms 3(2–4), 143–156 (2005)
McCreight, E.M.: A space-economical suffix tree construction algorithm. J. ACM 23(2), 262–272 (1976)
Na, J.C., Giancarlo, R., Park, K.: On-line construction of two-dimensional suffix trees in o(n 2log n) time. Algorithmica 48(2), 173–186 (2007)
Rodeh, M., Pratt, V.R., Even, S.: Linear algorithm for data compression via string matching. J. ACM 28(1), 16–24 (1981)
Schieber, B., Vishkin, U.: On finding lowest common ancestors: Simplification and parallelization. SIAM J. Comput. 17(6), 1253–1262 (1988)
Sleator, D.D., Tarjan, R.E.: A data structure for dynamic trees. J. Comput. Syst. Sci. 26(3), 362–391 (1983)
Ukkonen, E.: On-line construction of suffix trees. Algorithmica 14(3), 249–260 (1995)
Weiner, P.: Linear pattern matching. In: Proceedings of the 14th IEEE Symposium on Switching and Automata Theory, pp. 1–11 (1973)
Author information
Authors and Affiliations
Corresponding author
Additional information
Preliminary versions of this paper appeared in Proceedings of the 26th International Colloquium on Automata, Languages, and Programming (ICALP’99) and in Proceedings of the 18th Symposium on Combinatorial Pattern Matching (CPM’07).
Rights and permissions
About this article
Cite this article
Kim, D.K., Na, J.C., Sim, J.S. et al. Linear-Time Construction of Two-Dimensional Suffix Trees. Algorithmica 59, 269–297 (2011). https://doi.org/10.1007/s00453-009-9350-z
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00453-009-9350-z