Skip to main content

Efficient Implementation of Lazy Suffix Trees

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1668))

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. Andersson and S. Nilsson. Efficient Implementation of Suffix Trees. Software—Practice and Experience, 25(2):129–141, 1995.

    Article  Google Scholar 

  2. A. Apostolico. The Myriad Virtues of Subword Trees. In Combinatorial Algorithms on Words, pages 85–96. Springer Verlag, 1985.

    Google Scholar 

  3. 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.

    Article  MathSciNet  Google Scholar 

  4. T.H. Cormen, C.E. Leiserson, and R.L. Rivest. Introduction to Algorithms. MIT Press, Cambridge, MA, 1990.

    MATH  Google Scholar 

  5. M. Farach. Optimal Suffix Tree Construction with Large Alphabets. InProc. of the 38th Annual Symposium on the Foundations of Computer Science (FOCS), 1997.

    Google Scholar 

  6. 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.

    Article  MathSciNet  Google Scholar 

  7. 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.

    Article  MathSciNet  Google Scholar 

  8. D. Gusfield. An “Increment-by-one” Approach to Suffix Arrays and Trees. Report CSE-90-39, Computer Science Division, University of California, Davis, 1990.

    Google Scholar 

  9. D. Gusfield. Algorithms on Strings, Trees, and Sequences. Cambridge University Press, 1997.

    Google Scholar 

  10. 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.

    Chapter  Google Scholar 

  11. R.N. Horspool. Practical Fast Searching in Strings. Software—Practice and Experience, 10(6):501–506, 1980.

    Article  Google Scholar 

  12. S. Kurtz. Reducing the Space Requirement of Suffix Trees. Software—Practice and Experience, 1999. Accepted for publication.

    Google Scholar 

  13. 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.

    Article  MathSciNet  Google Scholar 

  14. H.M. Martinez. An Efficient Method for Finding Repeats in Molecular Sequences. Nucleic Acids Res., 11(13):4629–4634, 1983.

    Article  Google Scholar 

  15. E.M. McCreight. A Space-Economical Suffix Tree Construction Algorithm. Journal of the ACM, 23(2):262–272, 1976.

    Article  MathSciNet  Google Scholar 

  16. 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.

    Google Scholar 

  17. E. Ukkonen. On-line Construction of Suffix-Trees. Algorithmica, 14(3), 1995.

    Google Scholar 

  18. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics