How many runs can a string contain?

  • Authors:
  • Simon J. Puglisi;Jamie Simpson;W. F. Smyth

  • Affiliations:
  • School of Computer Science and Information Technology, RMIT University, GPO Box 2476, Melbourne, Victoria, 3001, Australia;Department of Mathematics and Statistics, Curtin University of Technology, GPO Box U1987, Perth, Western Australia 6845, Australia;DEBI Institute, Curtin University of Technology, GPO Box U1987, Perth, Western Australia 6845, Australia and Department of Computing & Software, McMaster University, Hamilton, Ontario, Canada L8S ...

  • Venue:
  • Theoretical Computer Science
  • Year:
  • 2008

Quantified Score

Hi-index 5.23

Visualization

Abstract

Given a string x=x[1..n], a repetition of period p in x is a substring u^r=x[i+1..i+rp], p=|u|, r=2, where neither u=x[i+1..i+p] nor x[i+1..i+(r+1)p+1] is a repetition. The maximum number of repetitions in any string x is well known to be @Q(nlogn). A run or maximal periodicity of period p in x is a substring u^rt=x[i+1..i+rp+|t|] of x, where u^r is a repetition, t a proper prefix of u, and no repetition of period p begins at position i of x or ends at position i+rp+|t|+1. In 2000 Kolpakov and Kucherov showed that the maximum number @r(n) of runs in any string x[1..n] is O(n), but their proof was nonconstructive and provided no specific constant of proportionality. At the same time, they presented experimental data to prompt the conjecture: @r(n)