Everything about Ukkonen's algorithm
Algorithm for construction of suffix trees
In computer science, Ukkonen's algorithm is a linear-time, online algorithm for constructing suffix trees, proposed by Esko Ukkonen in 1995. The algorithm begins with an implicit suffix tree containing the first character of the string. Then it steps through the string, adding successive characters until the tree is complete. This order addition of characters gives Ukkonen's algorithm its "on-line" property. The original algorithm presented by Peter Weiner in 1973 proceeded backward from the last character to the first one from the shortest to the longest suffix. A simpler algorithm was found by Edward M. McCreight in 1976, going from the longest to the shortest suffix. Wikipedia →
đź§ Start here: a 6-step reading path
- Read the overview: Ukkonen's algorithmA 5-minute orientation
- Pick up a classic book: Algorithms and ApplicationsThe most-reprinted book on the subject
- Go sideways: Suffix treeA closely related topic
- Go sideways: LCP arrayA closely related topic
đź“– Definitions
No dictionary entry for this exact phrase.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
- No matching papers found.
📚 Books worth reading
- 📕Algorithms and ApplicationsTapio Elomaa, Heikki Mannila · 2010
Algorithms and Applications: Essays Dedicated to Esko Ukkonen on the Occasion of His 60th Birthday (Lecture Notes in Computer Science)Heikki Mannila · 2010
Combinatorial pattern matchingSymposium on Combinatorial Pattern Matching (9th 1998 Piscataway, N.J.) · 1998
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
đź”— Related topics
- Suffix tree In computer science, a suffix tree (also called PAT tree or, in an earlier form, position tree) is a compressed trie containing all the suffixes of the…
- LCP array In computer science, the longest common prefix array (LCP array) is an auxiliary data structure to the suffix array. It stores the lengths of the longest…
- Generalized suffix tree In computer science, a generalized suffix tree is a suffix tree for a set of strings. Given the set of strings D=S1,S2,…,Sd of total length n, it is a…
- Radix tree In computer science, a radix tree (also radix trie or compact prefix tree or compressed trie) is a data structure that represents a space-optimized trie…
- Suffix array In computer science, a suffix array is a sorted array of all suffixes of a string. It is a data structure used in, among others, full-text indices, data-compres…
- Tree alignment In computational phylogenetics, tree alignment is a computational problem concerned with producing multiple sequence alignments, or alignments of three…
- Palindrome tree In computer science a palindrome tree, also called an EerTree, is a type of search tree, that allows for fast access to all palindromes contained in a…
- Breadth-first search In computer science, breadth-first search (BFS) is an algorithm for searching a tree data structure for a node that satisfies a given property. It starts…