Finding Maximal Repetitions in a Word in Linear Time

  • Authors:
  • Roman Kolpakov;Gregory Kucherov

  • Affiliations:
  • -;-

  • Venue:
  • FOCS '99 Proceedings of the 40th Annual Symposium on Foundations of Computer Science
  • Year:
  • 1999

Quantified Score

Hi-index 0.01

Visualization

Abstract

A repetition in a word w is a sub-word with the period of at most half of the sub-word length. We study maximal repetitions occurring in w, that is those for which any extended sub-word of w has a bigger period. The set of such repetitions represents in a compact way all repetitions in w.We first prove a combinatorial result asserting that the sum of exponents of all maximal repetitions of a word of length n is bounded by a linear function in n. This implies, in particular, that there is only a linear number of maximal repetitions in a word. This allows us to construct a linear-time algorithm for finding all maximal repetitions. Some consequences and applications of these results are discussed, as well as related works.