Extracting powers and periods in a string from its runs structure

  • Authors:
  • Maxime Crochemore;Costas Iliopoulos;Marcin Kubica;Jakub Radoszewski;Wojciech Rytter;Tomasz Waleń

  • Affiliations:
  • King's College London, London, UK and Université Paris-Est, France;King's College London, London, UK and Digital Ecosystems & Business Intelligence Institute, Curtin University of Technology, Perth, WA, Australia;Dept. of Mathematics, Computer Science and Mechanics, University of Warsaw, Warsaw, Poland;Dept. of Mathematics, Computer Science and Mechanics, University of Warsaw, Warsaw, Poland;Dept. of Mathematics, Computer Science and Mechanics, University of Warsaw, Warsaw, Poland and Dept. of Math. and Informatics, Copernicus University, Toruń, Poland;Dept. of Mathematics, Computer Science and Mechanics, University of Warsaw, Warsaw, Poland

  • Venue:
  • SPIRE'10 Proceedings of the 17th international conference on String processing and information retrieval
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

A breakthrough in the field of text algorithms was the discovery of the fact that the maximal number of runs in a string of length n is O(n) and that they can all be computed in O(n) time. We study some applications of this result. New simpler O(n) time algorithms are presented for a few classical string problems: computing all distinct kth string powers for a given k, in particular squares for k = 2, and finding all local periods in a given string of length n. Additionally, we present an efficient algorithm for testing primitivity of factors of a string and computing their primitive roots. Applications of runs, despite their importance, are underrepresented in existing literature (approximately one page in the paper of Kolpakov & Kucherov, 1999). In this paper we attempt to fill in this gap. We use Lyndon words and introduce the Lyndon structure of runs as a useful tool when computing powers. In problems related to periods we use some versions of the Manhattan skyline problem.