Solving the String Statistics Problem in Time O(n log n)

  • Gerth Stølting Brodal
  • Rune B. Lyngsø
  • Anna Östlin
  • Christian N. S. Pedersen

Abstract

The string statistics problem consists of preprocessing a string of length  n such that given a query pattern of length  m, the maximum number of non-overlapping occurrences of the query pattern in the string can be reported efficiently. Apostolico and Preparata introduced the minimal augmented suffix tree (MAST) as a data structure for the string statistics problem, and showed how to construct the MAST in time O(n log^2 n) and how it supports queries in time  O(m) for constant sized alphabets. A subsequent theorem by Fraenkel and Simpson stating that a string has at most a linear number of distinct squares implies that the MAST requires space  O(n). In this paper we improve the construction time for the MAST to O(n log n) by extending the algorithm of Apostolico and Preparata to exploit properties of efficient joining and splitting of search trees together with a refined analysis.
Published
2002-03-04
How to Cite
Brodal, G., Lyngsø, R., Östlin, A., & Pedersen, C. (2002). Solving the String Statistics Problem in Time O(n log n). BRICS Report Series, 9(13). https://doi.org/10.7146/brics.v9i13.21731