Skip to main content
Log in

Linear-Time Construction of Two-Dimensional Suffix Trees

  • Published:
Algorithmica Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Aho, A.V., Hopcroft, J.E., Ullman, J.D.: The Design and Analysis of Computer Algorithms. Addison-Wesley, Reading (1974)

    MATH  Google Scholar 

  2. Amir, A., Farach, M.: Two-dimensional dictionary matching. Inf. Process. Lett. 21, 233–239 (1992)

    Article  MathSciNet  Google Scholar 

  3. Apostolico, A.: The myriad virtues of subword trees. In: Apostolico, A., Galil, Z. (eds.) Combinatorial Algorithms on Words, pp. 85–95. Springer, Berlin (1985)

    Google Scholar 

  4. Baker, B.: Parameterized pattern matching: Algorithms and applications. J. Comput. Syst. Sci. 52(1), 28–42 (1996)

    Article  MATH  Google Scholar 

  5. Cole, R., Hariharan, R.: Faster suffix tree construction with missing suffix links. SIAM J. Comput. 33(1), 26–42 (2003)

    Article  MATH  MathSciNet  Google Scholar 

  6. Crochemore, M., Rytter, W.: Jewels of Stringology. World Scientific, Singapore (2002)

    Book  Google Scholar 

  7. Dobkin, D., Lipton, R.: On the complexity of computations under varying set of primitives. J. Comput. Syst. Sci. 18, 86–91 (1979)

    Article  MATH  MathSciNet  Google Scholar 

  8. 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)

  9. Farach-Colton, M., Ferragina, P., Muthukrishnan, S.: On the sorting-complexity of suffix tree construction. J. ACM 47(6), 987–1011 (2000)

    MATH  MathSciNet  Google Scholar 

  10. 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)

    Google Scholar 

  11. Giancarlo, R.: A generalization of the suffix tree to square matrices, with application. SIAM J. Comput. 24(3), 520–562 (1995)

    Article  MATH  MathSciNet  Google Scholar 

  12. 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)

    Article  MATH  MathSciNet  Google Scholar 

  13. 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)

    Google Scholar 

  14. Giancarlo, R., Guaiana, D.: On-line construction of two-dimensional suffix trees. J. Complex. 15(1), 72–127 (1999)

    Article  MATH  MathSciNet  Google Scholar 

  15. Gonnet, G.H.: Efficient searching of text and pictures. Technical Report OED-88-02, University of Waterloo (1988)

  16. Gusfield, D.: Algorithms on Strings, Tree, and Sequences. Cambridge University Press, Cambridge (1997)

    Book  Google Scholar 

  17. Harel, D., Tarjan, R.: Fast algorithms for finding nearest common ancestors. SIAM J. Comput. 13(2), 338–355 (1984)

    Article  MATH  MathSciNet  Google Scholar 

  18. Kärkkäinen, J., Sanders, P., Burkhardt, S.: Linear work suffix array construction. J. ACM 53(6), 918–936 (2006)

    MathSciNet  Google Scholar 

  19. 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)

    Article  MATH  Google Scholar 

  20. 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)

  21. 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)

  22. 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)

    Article  MATH  MathSciNet  Google Scholar 

  23. Ko, P., Aluru, S.: Space efficient linear time construction of suffix arrays. J. Discrete Algorithms 3(2–4), 143–156 (2005)

    Article  MATH  MathSciNet  Google Scholar 

  24. McCreight, E.M.: A space-economical suffix tree construction algorithm. J. ACM 23(2), 262–272 (1976)

    MATH  MathSciNet  Google Scholar 

  25. 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)

    Article  MATH  MathSciNet  Google Scholar 

  26. Rodeh, M., Pratt, V.R., Even, S.: Linear algorithm for data compression via string matching. J. ACM 28(1), 16–24 (1981)

    MATH  MathSciNet  Google Scholar 

  27. Schieber, B., Vishkin, U.: On finding lowest common ancestors: Simplification and parallelization. SIAM J. Comput. 17(6), 1253–1262 (1988)

    Article  MATH  MathSciNet  Google Scholar 

  28. Sleator, D.D., Tarjan, R.E.: A data structure for dynamic trees. J. Comput. Syst. Sci. 26(3), 362–391 (1983)

    Article  MATH  MathSciNet  Google Scholar 

  29. Ukkonen, E.: On-line construction of suffix trees. Algorithmica 14(3), 249–260 (1995)

    Article  MATH  MathSciNet  Google Scholar 

  30. Weiner, P.: Linear pattern matching. In: Proceedings of the 14th IEEE Symposium on Switching and Automata Theory, pp. 1–11 (1973)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Joong Chae Na.

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

Reprints 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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00453-009-9350-z

Keywords

Navigation