On the right-seed array of a string

  • Authors:
  • Michalis Christou;Maxime Crochemore;Ondrej Guth;Costas S. Iliopoulos;Solon P. Pissis

  • Affiliations:
  • Dept. of Informatics, King's College London, London, UK;Dept. of Informatics, King's College London, London, UK and Université Paris-Est, France;Dept. of Theoretical Computer Science, Faculty of Information Technology, Czech Technical University in Prague;Dept. of Informatics, King's College London, London, UK and Digital Ecosystems & Business Intelligence Institute, Curtin University, Australia;Dept. of Informatics, King's College London, London, UK

  • Venue:
  • COCOON'11 Proceedings of the 17th annual international conference on Computing and combinatorics
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

We consider the problem of finding the repetitive structure of a given fixed string y. A factor u of y is a cover of y, if every letter of y falls within some occurrence of u in y. A factor v of y is a seed of y, if it is a cover of a superstring of y. There exist linear-time algorithms for solving the minimal cover problem. The minimal seed problem is of much higher algorithmic difficulty, and no linear-time algorithm is known. In this article, we solve one of its variants - computing the minimal and maximal right-seed array of a given string. A right seed of y is the shortest suffix of y that it is a cover of a superstring of y. An integer array RS is the minimal right-seed (resp. maximal right-seed) array of y, if RS[i] is the minimal (resp. maximal) length of right seeds of y[0 . . i]. We present an O(n log n) time algorithm that computes the minimal right-seed array of a given string, and a linear-time solution to compute the maximal right-seed array by detecting border-free prefixes of the given string.