Finding maximal repetitions in a word in linear time
Top Cited Papers
- 20 January 2003
- proceedings article
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- Vol. 17, 596-604
- https://doi.org/10.1109/sffcs.1999.814634
Abstract
A repetition in a word w is a sub-word with the period of at most half of the sub-word length. We study maximal repetitions occurring in w, that is those for which any extended sub-word of w has a bigger period. The set of such repetitions represents in a compact way all repetitions in w.We first prove a combinatorial result asserting that the sum of exponents of all maximal repetitions of a word of length n is bounded by a linear function in n. This implies, in particular, that there is only a linear number of maximal repetitions in a word. This allows us to construct a linear-time algorithm for finding all maximal repetitions. Some consequences and applications of these results are discussed, as well as related works.Keywords
This publication has 15 references indexed in Scilit:
- The exact number of squares in Fibonacci wordsTheoretical Computer Science, 1999
- How Many Squares Can a String Contain?Journal of Combinatorial Theory, Series A, 1998
- A characterization of the squares in a Fibonacci stringTheoretical Computer Science, 1997
- Squares, cubes, and time-space efficient string searchingAlgorithmica, 1995
- Computation of squares in a stringLecture Notes in Computer Science, 1994
- Detecting leftmost maximal periodicitiesDiscrete Applied Mathematics, 1989
- An O(n log n) algorithm for finding all repetitions in a stringJournal of Algorithms, 1984
- Time-space-optimal string matchingJournal of Computer and System Sciences, 1983
- Detection of periodicities and string-matching in real timeJournal of Mathematical Sciences, 1983
- A Space-Economical Suffix Tree Construction AlgorithmJournal of the ACM, 1976