Optimal suffix tree construction with large alphabets

  • Authors:
  • M. Farach

  • Affiliations:
  • -

  • Venue:
  • FOCS '97 Proceedings of the 38th Annual Symposium on Foundations of Computer Science
  • Year:
  • 1997

Quantified Score

Hi-index 0.02

Visualization

Abstract

The suffix tree of a string is the fundamental data structure of combinatorial pattern matching. Weiner (1973), who introduced the data structure, gave an 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 /spl Omega/(n log n)-time lower bound based on sorting, and Weiner's algorithm matches this bound trivially. For integer alphabets, a substantial gap remains between the known upper and lower bounds, and closing this gap is the main open question in the construction of suffix trees. There is no super-linear lower bound, and the fastest known algorithm was the O(n log n) time comparison based algorithm. We settle this open problem by closing the gap: we build suffix trees in linear time for integer alphabet.