Constructing Suffix Trees

Let T=t1t2tn,beastringoveranalphabetT = t_1 t_2 \cdots t_n, be a string over an alphabet \Sigma.Eachstring. Each string xsuchthat such that T = uxvforsome(possiblyempty)strings for some (possibly empty) strings uand and visasubstringof is a substring of T,andeachstring, and each string T_i = t_i \cdots t_n,where, where 1 \leq i \leq n + 1isasuffixof is a suffix of T;inparticular,; in particular, T_{n+1} = \epsilonistheemptysuffix.Thesetofallsuffixesof is the empty suffix. The set of all suffixes of Tisdenoted is denoted \sigma(T).Thesuffixtrie. The suffix trie STrie(T)of of Tisatrierepresenting is a trie representing \sigma(T)$. Suffix tree STree(T)STree(T) of TT is a data structure that represents STrie(T)STrie(T) in space linear in the length T|T| of TT. This is achieved by representing only a subset Q{}Q' \cup \{ \perp \} of the states of STrie(T)STrie(T).

Parameters

  • nn: length of string

Filters

Computational Model

Randomization

Approximation

Algorithms Table

Displaying 5 of 5 algorithms

See more
Ukkonen1995O(n)O(n)O(n)O(n)
Ukkonen and D. Wood1993O(n2)O(n^2)O(n2)O(n^2)
McCreight1976O(n)O(n)O(n)O(n)
Naive1973O(n2)O(n^2)O(n)O(n)
Weiner's algorithm1973O(n)O(n)O(n)O(n)

Reductions Table

Insuffient Data to display table

Other relevant algorithms

Insuffient Data to display table