Encyclopedia of Algorithms

2016 Edition
| Editors: Ming-Yang Kao

Suffix Tree Construction

Reference work entry
DOI: https://doi.org/10.1007/978-1-4939-2864-4_414

Years and Authors of Summarized Original Work

  • 1973; Weiner

  • 1976; McCreight

  • 1995; Ukkonen

  • 2000; Farach-Colton, Ferragina, Muthukrishnan

Problem Definition

The suffix tree is perhaps the best-known and most-studied data structure for string indexing with applications in many fields of sequence analysis. After its invention in the early 1970s, several approaches for the efficient construction of the suffix tree of a string have been developed for various models of computation. The most prominent of those that construct the suffix tree in main memory are summarized in this entry.

Notations

Given an alphabet \(\varSigma\)

Keywords

Full-text index construction 
This is a preview of subscription content, log in to check access.

Recommended Reading

  1. 1.
    Amir A, Kopelowitz T, Lewenstein M, Lewenstein N (2005) Towards real-time suffix tree construction. In: Proceedings of the 12th international symposium on string processing and information retrieval (SPIRE 2005). LNCS, vol 3772. Springer, Berlin, pp 67–78Google Scholar
  2. 2.
    Apostolico A (1985) The myriad virtues of subword trees. In: Apostolico A, Galil Z (eds) Combinatorial algorithms on words. NATO ASI Series, vol F12. Springer, Berlin, pp 85–96CrossRefGoogle Scholar
  3. 3.
    Chen MT, Seiferas J (1985) Efficient and elegant subword tree construction. In: Apostolico A, Galil Z (eds) Combinatorial algorithms on words. Springer, New YorkGoogle Scholar
  4. 4.
    Farach-Colton M, Ferragina P, Muthukrishnan S (2000) On the sorting-complexity of suffix tree construction. J ACM 47(6):987–1011MathSciNetMATHCrossRefGoogle Scholar
  5. 5.
    Ferragina P, Grossi R, Montangero M (1998) A note on updating suffix tree labels. Theor Comput Sci 201:249–262MathSciNetMATHCrossRefGoogle Scholar
  6. 6.
    Fiala ER, Greene DH (1989) Data compression with finite windows. Commun ACM 32:490–505CrossRefGoogle Scholar
  7. 7.
    Giegerich R, Kurtz S, Stoye J (2003) Efficient implementation of lazy suffix trees. Softw Pract Exp 33:1035–1049CrossRefGoogle Scholar
  8. 8.
    Gusfield D (1997) Algorithms on strings, trees, and sequences: computer science and computational biology. Cambridge University Press, New YorkMATHCrossRefGoogle Scholar
  9. 9.
    Kärkkäinen J, Sanders P (2003) Simple linear work suffix array construction. In: Proceedings of the 30th international colloquium on automata, languages, and programming (ICALP 2003). LNCS, vol 2719. Springer, Berlin, pp 943–955Google Scholar
  10. 10.
    Kurtz S (1999) Reducing the space requirements of suffix trees. Softw Pract Exp 29:1149–1171CrossRefGoogle Scholar
  11. 11.
    McCreight EM (1976) A space-economical suffix tree construction algorithm. J ACM 23:262–272MathSciNetMATHCrossRefGoogle Scholar
  12. 12.
    Ukkonen E (1995) On-line construction of suffix trees. Algorithmica 14:249–260MathSciNetMATHCrossRefGoogle Scholar
  13. 13.
    Weiner P (1973) Linear pattern matching algorithms. In: Proceedings of the 14th annual IEEE symposium on switching and automata theory. IEEE Press, New York, pp 1–11CrossRefGoogle Scholar
  14. 14.
    Cheung C-F, Yu JX, Lu H (2005) Constructing suffix tree for gigabyte sequences with megabyte memory. IEEE Trans Knowl. Data Eng. 17:90–105CrossRefGoogle Scholar
  15. 15.
    Tian Y, Tata S, Hankins RA, Patel JM (2005) Practical methods for constructing suffix trees. VLDB J 14:281–299CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2016

Authors and Affiliations

  1. 1.Faculty of Technology, Genome InformaticsBielefeld UniversityBielefeldGermany