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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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.
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.
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.
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.
M. Farach and S. Muthukrishnan. Optimal parallel dictionary matching and compression. 7th Annual ACM Symposium on Parallel Algorithms and Architectures, 1995.
M. Farach and S. Muthukrishnan. Optimal logarithmic time randomized suffix tree construction. Technical Report, DIMACS, 1996.
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.
R. Hariharan. Optimal parallel suffix tree construction. Proc. of the 26th Ann. ACM Symp. on Theory of Computing, 1994.
S. Kosaraju. Real-time suffix tree construction. Proc. of the 26th Ann. ACM Symp. on Theory of Computing, 1994.
R.M. Karp and M.O. Rabin. Efficient randomized pattern-matching algorithms. IBM Journal of Research and Development, 31:249–260, 1987.
E. M. McCreight. A space-economical suffix tree construction algorithm. Journal of the ACM, 23:262–272, 1976.
W. Paul, U. Vishkin, and H. Wagener. Parallel computation on 2–3 trees. Technical Report TR-70, Courant Institue, NYU, 1983.
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.
S. C. Sahinalp and U. Vishkin. Symmetry breaking for suffix tree construction. Proc. of the 26th Ann. ACM Symp. on Theory of Computing, 1994.
P. Weiner. Linear pattern matching algorithm. Proc. 14 IEEE Symposium on Switching and Automata Theory, pages 1–11, 1973.
Author information
Authors and Affiliations
Editor information
Rights 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