The Covers Of A Circular Fibonacci String

Costas S. Iliopoulos1,2, Dennis Mocre3, W. F. Smyth 4,5
1Department of Computer Science King’s College London, University of London
2School of Computing Curtin University of Technology
3 School of Computing Curtin University of Technology
4Department of Computer Science & Systems McMaster University
5 School of Computing Curtin University of Technology

Abstract

Fibonacci strings turn out to constitute worst cases for a number of computer algorithms which find generic patterns in strings. Examples of such patterns are repetitions, Abelian squares, and “covers”. In particular, we characterize in this paper the covers of a circular Fibonacci string \(\mathcal{C}(F_k)\) and show that they are \(\Theta(|F_k|^2)\) in number. We show also that, by making use of an appropriate encoding, these covers can be reported in \(\Theta(|F_k|)\) time. By contrast, the fastest known algorithm for computing the covers of an arbitrary circular string of length \(n\) requires time \(O(n \log n)\).