Skip to main content

Suffix Tree

  • Reference work entry
  • First Online:
  • 41 Accesses

Synonyms

Compact suffix trie

Definition

The suffix tree \(\mathcal {S}(y)\) of a nonempty string y of length n is a compact trie representing all the suffixes of the string.

The suffix tree of y is defined by the following properties:

  • All branches of \(\mathcal {S}(y)\) are labeled by all suffixes of y.

  • Edges of \(\mathcal {S}(y)\) are labeled by strings.

  • Internal nodes of \(\mathcal {S}(y)\) have at least two children.

  • Edges outgoing an internal node are labeled by segments starting with different letters.

  • The segments are represented by their starting position on y and their lengths.

Moreover, it is assumed that y ends with a symbol occurring nowhere else in it (the space sign is used in the examples of the present entry). This avoids marking nodes and implies that \(\mathcal {S}(y)\) has exactly n leaves (number of nonempty suffixes).

All the properties then imply that the total size of \(\mathcal {S}(y)\) is O(n), which makes it possible to design a linear-time construction of...

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   4,499.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD   6,499.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Recommended Reading

  1. Blumer A, Blumer J, Ehrenfeucht A, Haussler D, Chen MT, Seiferas J. The smallest automaton recognizing the subwords of a text. Theor Comput Sci. 1985;40(1):31–55.

    Article  MathSciNet  MATH  Google Scholar 

  2. Crochemore M. Transducers and repetitions. Theor Comput Sci. 1986;45(1):63–86.

    Article  MathSciNet  MATH  Google Scholar 

  3. Crochemore M, Hancart C, Lecroq T. Algorithms on strings. Cambridge: Cambridge University Press; 2007.

    Book  MATH  Google Scholar 

  4. Crochemore M, Vérin R. On compact directed acyclic word graphs. In: Structures in logic et computer science, LNCS, vol. 1261; 1997, p. 192–211. https://doi.org/10.1007/3-540-63246-8_12.

    Google Scholar 

  5. Farach M. Optimal suffix tree construction with large alphabets. In: Proceedings of the 38th IEEE Annual Symposium on Foundations of Computer Science; 1997. p. 137–43.

    Google Scholar 

  6. Ferragina P, Grossi R. The string B-tree: a new data structure for string search in external memory et its applications. J Assoc Comput Mach. 1999;46(2):236–80.

    Article  MATH  Google Scholar 

  7. Gusfield D. Algorithms on strings, trees and sequences. Cambridge: Cambridge University Press; 1997.

    Book  MATH  Google Scholar 

  8. Kärkkäinen J, Sanders P. Simple linear work suffix array construction. In: Proceedings of the 30th International Colloquium on Automata, Languages, and Programming; 2003. p. 943–55. http://dblp.uni-trier.de/rec/bib/conf/icalp/KarkkainenS03.

    Chapter  Google Scholar 

  9. Kasai T, Lee G, Arimura H, Arikawa S, Park K. Linear-time longest-common-prefix computation in suffix arrays and its applications. In: Proceedings of the 12th Annual Symposium on Combinatorial Pattern Matching; 2001. p. 181–92.

    Chapter  Google Scholar 

  10. Kim DK, Sim JS, Park H, Park K. Linear-time construction of suffix arrays. In: Proceedings of the 14th Annual Symposium on Combinatorial Pattern Matching; 2003. p. 186–99.

    Chapter  Google Scholar 

  11. Ko P, Aluru S. Space efficient linear time construction of suffix arrays. In: Proceedings of the 14th Annual Symposium on Combinatorial Pattern Matching; 2003. p. 200–10.

    Chapter  Google Scholar 

  12. Kurtz S. Reducing the space requirement of suffix trees. Softw Pract Exper. 1999;29(13):1149–71.

    Article  Google Scholar 

  13. Manber U, Myers G. Suffix arrays: a new method for on-line string searches. SIAM J Comput. 1993;22(5):935–48.

    Article  MathSciNet  MATH  Google Scholar 

  14. McCreight EM. A space-economical suffix tree construction algorithm. J Algorithms. 1976;23(2):<?pag ?>262–72.

    Article  MathSciNet  MATH  Google Scholar 

  15. Nong G, Zhang S, Chan WH. Linear suffix array construction by almost pure induced-sorting. In: Proceedings of the Data Compression Conference; 2009. p. 193–202.

    Google Scholar 

  16. Ohlebusch E. Bioinformatics algorithms: sequence analysis, genome rearrangements, and phylogenetic reconstruction, Oldenbusch Verlag; 2013.

    MATH  Google Scholar 

  17. Ukkonen E. On-line construction of suffix trees. Algorithmica. 1995;14(3):249–60.

    Article  MathSciNet  MATH  Google Scholar 

  18. Weiner P. Linear pattern matching algorithm. In: Proceedings of the 14th Annual IEEE Symposium on Switching et Automata Theory; 1973. p. 1–11.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Maxime Crochemore .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer Science+Business Media, LLC, part of Springer Nature

About this entry

Check for updates. Verify currency and authenticity via CrossMark

Cite this entry

Crochemore, M., Lecroq, T. (2018). Suffix Tree. In: Liu, L., Özsu, M.T. (eds) Encyclopedia of Database Systems. Springer, New York, NY. https://doi.org/10.1007/978-1-4614-8265-9_1142

Download citation

Publish with us

Policies and ethics