Abstract
We present an efficient implementation of a write-only topdown construction for suffix trees. Our implementation is based on a new, space-efficient representation of suffix trees which 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 not before 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.
Partially supported by DFG-grant Ku 1257/1-1.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
A. Andersson and S. Nilsson. Efficient Implementation of Suffix Trees. Software—Practice and Experience, 25(2):129–141, 1995.
A. Apostolico. The Myriad Virtues of Subword Trees. In Combinatorial Algorithms on Words, pages 85–96. Springer Verlag, 1985.
A. Apostolico, C. Iliopoulos, G. M. Landau, B. Schieber, and U. Vishkin. Parallel Construction of a Suffix Tree with Applications. Algorithmica, 3:347–365, 1988.
T.H. Cormen, C.E. Leiserson, and R.L. Rivest. Introduction to Algorithms. MIT Press, Cambridge, MA, 1990.
M. Farach. Optimal Suffix Tree Construction with Large Alphabets. InProc. of the 38th Annual Symposium on the Foundations of Computer Science (FOCS), 1997.
R. Giegerich and S. Kurtz. A Comparison of Imperative and Purely Functional Suffix Tree Constructions. Science of Computer Programming, 25(2-3):187–218, 1995.
R. Giegerich and S. Kurtz. From Ukkonen to McCreight and Weiner: A Unifying View of Linear-Time Suffix Tree Constructions. Algorithmica, 19:331–353, 1997.
D. Gusfield. An “Increment-by-one” Approach to Suffix Arrays and Trees. Report CSE-90-39, Computer Science Division, University of California, Davis, 1990.
D. Gusfield. Algorithms on Strings, Trees, and Sequences. Cambridge University Press, 1997.
J. Hopcroft. An O(n log n) Algorithmfor Minimizing States in a Finite Automaton. In Proceedings of an International Symposium on the Theory of Machines and Computations, pages 189–196. Academic Press, New York, 1971.
R.N. Horspool. Practical Fast Searching in Strings. Software—Practice and Experience, 10(6):501–506, 1980.
S. Kurtz. Reducing the Space Requirement of Suffix Trees. Software—Practice and Experience, 1999. Accepted for publication.
U. Manber and E.W. Myers. Suffix Arrays: A New Method for On-Line String Searches. SIAM Journal on Computing, 22(5):935–948, 1993.
H.M. Martinez. An Efficient Method for Finding Repeats in Molecular Sequences. Nucleic Acids Res., 11(13):4629–4634, 1983.
E.M. McCreight. A Space-Economical Suffix Tree Construction Algorithm. Journal of the ACM, 23(2):262–272, 1976.
S. S. Skiena. Who is Interested in Algorithms and Why? Lessons from the Stony Brook Algorithms Repository. In Proceedings of the 2nd Workshop on Algorithm Engineering (WAE), pages 204–212, 1998.
E. Ukkonen. On-line Construction of Suffix-Trees. Algorithmica, 14(3), 1995.
P. Weiner. Linear Pattern Matching Algorithms. In Proceedings of the 14th IEEE Annual Symposium on Switching and Automata Theory, pages 1–11, The University of Iowa, 1973.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Giegerich, R., Kurtz, S., Stoye, J. (1999). Efficient Implementation of Lazy Suffix Trees. In: Vitter, J.S., Zaroliagis, C.D. (eds) Algorithm Engineering. WAE 1999. Lecture Notes in Computer Science, vol 1668. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48318-7_5
Download citation
DOI: https://doi.org/10.1007/3-540-48318-7_5
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66427-7
Online ISBN: 978-3-540-48318-2
eBook Packages: Springer Book Archive