Skip to main content

Optimal logarithmic time randomized suffix tree construction

  • Session 13: Data Structures
  • Conference paper
  • First Online:
Automata, Languages and Programming (ICALP 1996)

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

Included in the following conference series:

  • 164 Accesses

Abstract

The suffix tree of a string, the fundamental data structure in the area of combinatorial pattern matching, has many elegant applications. In this paper, we present a novel, simple sequential algorithm for the construction of suffix trees. We are also able to parallelize our algorithm so that we settle the main open problem in the construction of suffix trees: we give a Las Vegas CRCW PRAM algorithm that constructs the suffix tree of a binary string of length n in O (log n) time and O(n) work with high probability. In contrast, the previously known work-optimal algorithms, while deterministic, take Ω(log2 n) time.

We also give a work-optimal randomized comparison-based algorithm to convert any string over an unbounded alphabet to an equivalent string over a binary alphabet. As a result, we obtain the first work-optimal algorithm for suffix tree construction under the unbounded alphabet assumption.

Supported by NSF Career Development Award CCR-9501942 and an Alfred P. Sloan Research Fellowship. Work done while this author was a Visitor Member of the Courant Institute of NYU.

Partly supported by DIMACS (Center for Discrete Mathematics and Theoretical Computer Science), a National Science Foundation Science and Technology Center under NSF contract STC-8809648. Partly supported by Alcom IT.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. A. Apostolico, C. Iliopoulos, G.M. Landau, B. Scieber, and U. Vishkin. Parallel construction of a suffix tree with applications. Algorithmica, 3:347–365, 1988.

    Article  Google Scholar 

  2. Alberto Apostolico. The myriad virtues of subword trees. In A. Apostolico and Z. Galil, editors, Combinatorial Algorithms on Words, pages 85–96. Springer-Verlag, Berlin, 1984.

    Google Scholar 

  3. M. T. Chen and J. Seiferas. Efficient and elegant subword tree construction. In A. Apostolico and Z. Galil, editors, Combinatorial Algorithms on Words, chapter 12, pages 97–107. NATO ASI Series F: Computer and System Sciences, 1985.

    Google Scholar 

  4. A. Delcher and S. Kosaraju. Large-scale assembly of dna strings and space-efficient construction of suffix trees. Proc. of the 27th Ann. ACM Symp. on Theory of Computing, 1995.

    Google Scholar 

  5. M. Farach and S. Muthukrishnan. Optimal parallel dictionary matching and compression. 7th Annual ACM Symposium on Parallel Algorithms and Architectures, 1995.

    Google Scholar 

  6. M. Farach and S. Muthukrishnan. Optimal logarithmic time randomized suffix tree construction. Technical Report, DIMACS, 1996.

    Google Scholar 

  7. J. Gil, Y. Matias, and U. Vishkin. Towards a theory of nearly constant time parallel algorithms. Proc. of the 32nd IEEE Annual Symp. on Foundation of Computer Science, pages 698–710, 1991.

    Google Scholar 

  8. R. Hariharan. Optimal parallel suffix tree construction. Proc. of the 26th Ann. ACM Symp. on Theory of Computing, 1994.

    Google Scholar 

  9. S. Kosaraju. Real-time suffix tree construction. Proc. of the 26th Ann. ACM Symp. on Theory of Computing, 1994.

    Google Scholar 

  10. R.M. Karp and M.O. Rabin. Efficient randomized pattern-matching algorithms. IBM Journal of Research and Development, 31:249–260, 1987.

    Google Scholar 

  11. E. M. McCreight. A space-economical suffix tree construction algorithm. Journal of the ACM, 23:262–272, 1976.

    Article  Google Scholar 

  12. W. Paul, U. Vishkin, and H. Wagener. Parallel computation on 2–3 trees. Technical Report TR-70, Courant Institue, NYU, 1983.

    Google Scholar 

  13. Rüdiger Reischuk. A fast probabilistic parallel sorting algorithm. In Proc. of the 22nd IEEE Annual Symp. on Foundation of Computer Science, pages 212–219, 1981.

    Google Scholar 

  14. S. C. Sahinalp and U. Vishkin. Symmetry breaking for suffix tree construction. Proc. of the 26th Ann. ACM Symp. on Theory of Computing, 1994.

    Google Scholar 

  15. P. Weiner. Linear pattern matching algorithm. Proc. 14 IEEE Symposium on Switching and Automata Theory, pages 1–11, 1973.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Friedhelm Meyer Burkhard Monien

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Farach, M., Muthukrishnan, S. (1996). Optimal logarithmic time randomized suffix tree construction. In: Meyer, F., Monien, B. (eds) Automata, Languages and Programming. ICALP 1996. Lecture Notes in Computer Science, vol 1099. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-61440-0_158

Download citation

  • DOI: https://doi.org/10.1007/3-540-61440-0_158

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-61440-1

  • Online ISBN: 978-3-540-68580-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics