Abstract
The suffix tree of a string is the fundamental data structure of combinatorial pattern matching. We present a recursive technique for building suffix trees that yields optimal algorithms in different computational models. Sorting is an inherent bottleneck in building suffix trees and our algorithms match the sorting lower bound. Specifically, we present the following results. (1) Weiner [1973], who introduced the data structure, gave an optimal O(n)-time algorithm for building the suffix tree of an n-character string drawn from a constant-size alphabet. In the comparison model, there is a trivial Ω(n log n)-time lower bound based on sorting, and Weiner's algorithm matches this bound. For integer alphabets, the fastest known algorithm is the O(n log n) time comparison-based algorithm, but no super-linear lower bound is known. Closing this gap. © 2000 ACM.
Author supplied keywords
Cite
CITATION STYLE
Farach-Colton, M., Ferragina, P., & Muthukrishnan, S. (2000). On the sorting-complexity of suffix tree construction. Journal of the ACM, 47(6), 987–1011. https://doi.org/10.1145/355541.355547
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.