Algorithmica

, Volume 59, Issue 2, pp 269–297 | Cite as

Linear-Time Construction of Two-Dimensional Suffix Trees

  • Dong Kyue Kim
  • Joong Chae Na
  • Jeong Seop Sim
  • Kunsoo Park
Article

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.

Keywords

Suffix tree Two-dimensional suffix tree Divide-and-conquer approach 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Aho, A.V., Hopcroft, J.E., Ullman, J.D.: The Design and Analysis of Computer Algorithms. Addison-Wesley, Reading (1974) MATHGoogle Scholar
  2. 2.
    Amir, A., Farach, M.: Two-dimensional dictionary matching. Inf. Process. Lett. 21, 233–239 (1992) CrossRefMathSciNetGoogle Scholar
  3. 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. 4.
    Baker, B.: Parameterized pattern matching: Algorithms and applications. J. Comput. Syst. Sci. 52(1), 28–42 (1996) MATHCrossRefGoogle Scholar
  5. 5.
    Cole, R., Hariharan, R.: Faster suffix tree construction with missing suffix links. SIAM J. Comput. 33(1), 26–42 (2003) MATHCrossRefMathSciNetGoogle Scholar
  6. 6.
    Crochemore, M., Rytter, W.: Jewels of Stringology. World Scientific, Singapore (2002) CrossRefGoogle Scholar
  7. 7.
    Dobkin, D., Lipton, R.: On the complexity of computations under varying set of primitives. J. Comput. Syst. Sci. 18, 86–91 (1979) MATHCrossRefMathSciNetGoogle Scholar
  8. 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) Google Scholar
  9. 9.
    Farach-Colton, M., Ferragina, P., Muthukrishnan, S.: On the sorting-complexity of suffix tree construction. J. ACM 47(6), 987–1011 (2000) MATHMathSciNetGoogle Scholar
  10. 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. 11.
    Giancarlo, R.: A generalization of the suffix tree to square matrices, with application. SIAM J. Comput. 24(3), 520–562 (1995) MATHCrossRefMathSciNetGoogle Scholar
  12. 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) MATHCrossRefMathSciNetGoogle Scholar
  13. 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. 14.
    Giancarlo, R., Guaiana, D.: On-line construction of two-dimensional suffix trees. J. Complex. 15(1), 72–127 (1999) MATHCrossRefMathSciNetGoogle Scholar
  15. 15.
    Gonnet, G.H.: Efficient searching of text and pictures. Technical Report OED-88-02, University of Waterloo (1988) Google Scholar
  16. 16.
    Gusfield, D.: Algorithms on Strings, Tree, and Sequences. Cambridge University Press, Cambridge (1997) CrossRefGoogle Scholar
  17. 17.
    Harel, D., Tarjan, R.: Fast algorithms for finding nearest common ancestors. SIAM J. Comput. 13(2), 338–355 (1984) MATHCrossRefMathSciNetGoogle Scholar
  18. 18.
    Kärkkäinen, J., Sanders, P., Burkhardt, S.: Linear work suffix array construction. J. ACM 53(6), 918–936 (2006) MathSciNetGoogle Scholar
  19. 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) MATHCrossRefGoogle Scholar
  20. 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) Google Scholar
  21. 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) Google Scholar
  22. 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) MATHCrossRefMathSciNetGoogle Scholar
  23. 23.
    Ko, P., Aluru, S.: Space efficient linear time construction of suffix arrays. J. Discrete Algorithms 3(2–4), 143–156 (2005) MATHCrossRefMathSciNetGoogle Scholar
  24. 24.
    McCreight, E.M.: A space-economical suffix tree construction algorithm. J. ACM 23(2), 262–272 (1976) MATHMathSciNetGoogle Scholar
  25. 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) MATHCrossRefMathSciNetGoogle Scholar
  26. 26.
    Rodeh, M., Pratt, V.R., Even, S.: Linear algorithm for data compression via string matching. J. ACM 28(1), 16–24 (1981) MATHMathSciNetGoogle Scholar
  27. 27.
    Schieber, B., Vishkin, U.: On finding lowest common ancestors: Simplification and parallelization. SIAM J. Comput. 17(6), 1253–1262 (1988) MATHCrossRefMathSciNetGoogle Scholar
  28. 28.
    Sleator, D.D., Tarjan, R.E.: A data structure for dynamic trees. J. Comput. Syst. Sci. 26(3), 362–391 (1983) MATHCrossRefMathSciNetGoogle Scholar
  29. 29.
    Ukkonen, E.: On-line construction of suffix trees. Algorithmica 14(3), 249–260 (1995) MATHCrossRefMathSciNetGoogle Scholar
  30. 30.
    Weiner, P.: Linear pattern matching. In: Proceedings of the 14th IEEE Symposium on Switching and Automata Theory, pp. 1–11 (1973) Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2009

Authors and Affiliations

  • Dong Kyue Kim
    • 1
  • Joong Chae Na
    • 2
  • Jeong Seop Sim
    • 3
  • Kunsoo Park
    • 4
  1. 1.Department of Electronics and Communications EngineeringHanyang UniversitySeoulSouth Korea
  2. 2.Department of Computer Science and EngineeringSejong UniversitySeoulSouth Korea
  3. 3.School of Computer and Information EngineeringInha UniversityIncheonSouth Korea
  4. 4.School of Computer Science and EngineeringSeoul National UniversitySeoulSouth Korea

Personalised recommendations