Computing Atlas

How Computing Was Built
Sign In
Text size
100%
Theme
Algorithm

Ukkonen's Algorithm

String Algorithm

Ukkonen's algorithm is a linear time, online algorithm for constructing suffix trees, proposed by Esko Ukkonen in 1995. It begins with an implicit suffix tree containing only the first character of the string, then steps through the remaining characters one at a time, extending the tree as it goes, which gives the algorithm its online property since it never needs to see the whole string in advance. Earlier suffix tree construction algorithms by Peter Weiner in 1973 and Edward M. McCreight in 1976 built the tree by working backward from the last character or from the longest suffix to the shortest, rather than processing the string in the forward, online order Ukkonen's method allows.

Facts
Time Complexity
Time Complexity (category)
Linear Time -- O(n) 1
Connections

Credited To

Esko Ukkonen, Pioneers
Source Ukkonen's Algorithm (Wikipedia)

In Field

Source Ukkonen's Algorithm (Wikipedia)

Invented By

Esko Ukkonen, Pioneers
Source Ukkonen's Algorithm (Wikipedia)
Sources
1. Ukkonen's Algorithm (Wikipedia)
  • Wikipedia infobox: time complexity linear
    linear
  • Credited To: Esko Ukkonen, Intro, lead sentence
    Esko Ukkonen
  • In Field: Algorithms and Complexity Theory, Lead sentence
    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.
  • Invented By: Esko Ukkonen, Intro, lead sentence
    Esko Ukkonen
  • In Group: String Searching Algorithms, Lead
    In computer science, Ukkonen's algorithm is a linear-time, online algorithm for constructing suffix trees, proposed by Esko Ukkonen in 1995.
View the Source
Wikidata: Ukkonen's Algorithm
Wikidata Q7878334, class allow-list match (w-wdresolver-0926)View the Source
Comments (0)
No comments yet. Be the first to share a thought.
Reader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.