research article

Finding the cyclic covers of a string

Abstract

We introduce the concept of cyclic covers, which generalizes the classical notion of covers in strings. Given any string X, a factor W of X is called a cyclic cover if each position of X belongs to an occurrence of a cyclic shift of W in X. Two cyclic covers are distinct if one is not a cyclic shift of the other. The cyclic covers problem asks for all distinct cyclic covers of an input string X. We present an algorithm that solves the cyclic covers problem in O(nlog⁡n) time, where n is the length of X. It is based on finding a well-structured set of standard occurrences of a constant number of factors of a cyclic cover candidate W, computing the regions of X covered by cyclic shifts of W, extending those factors, and taking the union of the results

Similar works

This paper was published in CWI's Institutional Repository.

Having an issue?

Is data on this page outdated, violates copyrights or anything else? Report the problem now and we will take corresponding actions after reviewing your request.