Synonyms
Definition
The suffix tree \({\cal S}(y)\) of a non-empty 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:
- 1.
All branches of \({\cal S}(y)\) are labeled by all nonempty suffixes of y ⊔.
- 2.
Edges of \({\cal S}(y)\) are labeled by strings.
- 3.
Internal nodes of \({\cal S}(y)\) have at least two children.
- 4.
Edges outgoing an internal node are labeled by segments starting with different letters.
- 5.
The segments are represented both by their starting position on y and their lengths.
The space sign ⊔ appended at the end of y avoids marking nodes, and implies that \({\cal S}(y)\) has exactly n leaves (number of non-empty suffixes).
All the properties then imply that the total size of \({\cal S}(y)\) is O(n), which makes it possible to design a linear-time construction of the suffix tree.
Historical Background
The first linear time algorithm for building a suffix tree...
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsRecommended Reading
Blumer A., Blumer J., Ehrenfeucht A., Haussler D., Chen M.T., and Seiferas J. The smallest automaton recognizing the subwords of a text. Theor. Comput. Sci. 40(1):31–55, 1985.
Crochemore M. Transducers and repetitions. Theor. Comput. Sci. 45(1):63–86, 1986.
Crochemore M., Hancart C., and Lecroq T. Algorithms on Strings. Cambridge University Press, Cambridge, UK, 2007.
Crochemore M. and Vérin R. On compact directed acyclic word graphs. In Structures in Logic et Computer Science, LNCS 1261: 192–211, 1997.
Farach M. Optimal suffix tree construction with large alphabets. In Proc. 38th IEEE Annual Symp. on Foundations of Computer Science, 1997, pp. 137–143.
Ferragina P. and Grossi R. The string B-tree: A new data structure for string search in external memory et its applications. J. Assoc. Comput. Mach., 46:236–280, 1999.
Gusfield D. Algorithms on strings, trees and sequences. Cambridge University Press, Cambridge, UK, 1997.
Kärkkäinen J. and Sanders P. 2003, Simple linear work suffix array construction. In Proc. 30th Int. Colloquium on Automata, Languages, and Programming, pp. 943–955.
Kim D.K., Sim J.S., Park H., and Park K. 2003, Linear-time construction of suffix arrays. In Proc. 14th Annual Symp. Combinatorical Pattern Matching, pp. 186–199.
Ko P. and Aluru S. 2003, Space efficient linear time construction of suffix arrays. In Proc. 14th Annual Symp. Combinatorical Pattern Matching, pp. 200–210.
Kurtz S. Reducing the space requirement of suffix trees. Softw., Pract. Exp. 29(13):1149–1171, 1999.
Manber U. and Myers G. Suffix arrays: a new method for on-line string searches. SIAM J. Comput. 22(5):935–948, 1993.
McCreight E.M. A space-economical suffix tree construction algorithm. J. Algorithms 23(2):262–272, 1976.
Ukkonen E. On-line construction of suffix trees. Algorithmica 14(3):249–260, 1995.
Weiner P. Linear pattern matching algorithm. In Proc. 14th Annual IEEE Symp. on Switching et Automata Theory. Washington, DC, 1973, pp. 1–11.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer Science+Business Media, LLC
About this entry
Cite this entry
Crochemore, M., Lecroq, T. (2009). Suffix Tree. In: LIU, L., ÖZSU, M.T. (eds) Encyclopedia of Database Systems. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-39940-9_1142
Download citation
DOI: https://doi.org/10.1007/978-0-387-39940-9_1142
Publisher Name: Springer, Boston, MA
Print ISBN: 978-0-387-35544-3
Online ISBN: 978-0-387-39940-9
eBook Packages: Computer ScienceReference Module Computer Science and Engineering