Чтобы построить дерево суффикса, в худшем случае, если все буквы строки различаются, сложность будет выглядеть как
n + (n-1) + (n-2) ... 1 = n*(n+1)/2
который является O (n ^ 2).
Однако, согласно http://en.wikipedia.org/wiki/Suffix_tree, построение дерева суффиксов занимает время O (n). Что мне здесь не хватает?