We present an efficient implementation of a write-only top-down construction for suffix trees. Our implementation is based on a new, space-efficient representation of suffix trees that requires only 12 bytes per input character in the worst case, and 8.5 bytes per input character on average for a collection of files of different type. We show how to efficiently implement the lazy evaluation of suffix trees such that a subtree is evaluated only when it is traversed for the first time. Our experiments show that for the problem of searching many exact patterns in a fixed input string, the lazy top-down construction is often faster and more space efficient than other methods. The suffix array construction of [12] and the linear time suffix tree construction of [13] also do not have the alphabet factor in their running times. For the linear time suffix tree constructions of [4-6] the alphabet factor can be avoided by employing hashing techniques, see [5] ; however, at the cost of using considerably more space, see [10] .
In REF , Giegerich, Kurtz, and Stoye explore the benefits of using a lazy implementation of suffix trees.
Efficient Implementation of Lazy Suffix Trees
Lecture Notes in Computer Science
Lecture Notes in Computer Science
Computer Science