2026-01-02
Finding the cyclic covers of a string
Publication
Publication
Information Processing Letters , Volume 191 p. 106594:1- 106594:7
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(nlogn) 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.
Additional Metadata | |
---|---|
, , , , | |
doi.org/10.1016/j.ipl.2025.106594 | |
Information Processing Letters | |
Organisation | Centrum Wiskunde & Informatica, Amsterdam (CWI), The Netherlands |
Grossi, R., Iliopoulos, C., Jansson, J., Lim, Z., Sung, W.-K., & Zuba, W. (2026). Finding the cyclic covers of a string. Information Processing Letters, 191, 106594:1–106594:7. doi:10.1016/j.ipl.2025.106594 |