## Finding maximal quasiperiodicities in strings (2000)

### Cached

### Download Links

- [www.daimi.au.dk]
- [www.brics.dk]
- [www.brics.dk]
- [www.brics.dk]
- [www.brics.dk]
- [www.brics.dk]
- [www.daimi.au.dk]
- DBLP

### Other Repositories/Bibliography

Venue: | In Proceedings of the 11th Annual Symposium on Combinatorial Pattern Matching (CPM |

Citations: | 7 - 3 self |

### BibTeX

@INPROCEEDINGS{Brodal00findingmaximal,

author = {Gerth Stølting Brodal and Christian N. S. Pedersen},

title = {Finding maximal quasiperiodicities in strings},

booktitle = {In Proceedings of the 11th Annual Symposium on Combinatorial Pattern Matching (CPM},

year = {2000},

pages = {397--411},

publisher = {Springer-Verlag}

}

### OpenURL

### Abstract

Abstract. Apostolico and Ehrenfeucht defined the notion of a maximal quasiperiodic substring and gave an algorithm that finds all maximal quasiperiodic substrings in a string of length n in time O(n log 2 n). In this paper we give an algorithm that finds all maximal quasiperiodic substrings in a string of length n in time O(n log n) andspaceO(n). Our algorithm uses the suffix tree as the fundamental data structure combined with efficient methods for merging and performing multiple searches in search trees. Besides finding all maximal quasiperiodic substrings, our algorithm also marks the nodes in the suffix tree that have a superprimitive path-label. 1

### Citations

2564 |
h~ Design and Analysis of Computer Algorithms
- Hopcroft, Ullman
- 1974
(Show Context)
Citation Context ...height O(log n), and element insertions, deletions, and membership queries can be performed in time O(log n), where 7 updates are based on performing left and right rotations in the tree. We refer to =-=[2-=-] for further details. For a sorted list L = (x 1 ; : : : ; x n ) of n distinct elements, and an element x and a value , we dene the following functions which capture the notation of predecessors and ... |

953 |
Algorithms on strings, trees, and sequences
- Gusfield
- 1997
(Show Context)
Citation Context ...min{y∈L | y ≥ x} , max-gap(L) =max{0,x2 − x1,x3 − x2,...,xn − xn−1} , ∆-pred(L, δ, x) =min{y∈L | y ≤ x ∧ max-gap(L ∩ [y, x]) ≤ δ} , ∆-succ(L, δ, x) =max{y∈L | y ≥ x ∧ max-gap(L ∩ [x, y]) ≤ δ} . If L ==-=(5, 7, 13, 14, 17, 21, 25, 30, 31)-=-, then pred(L, 20) = 17, succ(L, 20) = 21, max-gap(L) =13− 7=6,∆-pred(L, 4, 20) = 13, and ∆-succ(L, 4, 20) = 25. Note that pred(L, x) =∆-pred(L, 0,x)andsucc(L, x) =∆-succ(L, 0,x). We consider an exten... |

674 | LEDA: A Platform for Combinatorial and Geometric Computing
- Mehlhorn, Naher
- 1999
(Show Context)
Citation Context ...min{y∈L | y ≥ x} , max-gap(L) =max{0,x2 − x1,x3 − x2,...,xn − xn−1} , ∆-pred(L, δ, x) =min{y∈L | y ≤ x ∧ max-gap(L ∩ [y, x]) ≤ δ} , ∆-succ(L, δ, x) =max{y∈L | y ≥ x ∧ max-gap(L ∩ [x, y]) ≤ δ} . If L ==-=(5, 7, 13, 14, 17, 21, 25, 30, 31)-=-, then pred(L, 20) = 17, succ(L, 20) = 21, max-gap(L) =13− 7=6,∆-pred(L, 4, 20) = 13, and ∆-succ(L, 4, 20) = 25. Note that pred(L, x) =∆-pred(L, 0,x)andsucc(L, x) =∆-succ(L, 0,x). We consider an exten... |

568 |
A space economical suffix tree construction algorithm
- McCreight
- 1976
(Show Context)
Citation Context ...The algorithm to find all maximal quasiperiodic substrings in a string S of length n first constructs the suffix tree T (S)ofS in time O(n) using any existing suffix tree construction algorithm, e.g. =-=[28,19,27]-=-, and then processes T (S)intwo phases. Each phase involves one or more traversals of T (S). In the first phase the algorithm identifies all nodes of T (S) with a superprimitive path-label. In the sec... |

445 | Linear pattern matching algorithms
- Weiner
- 1973
(Show Context)
Citation Context ...gorithm The algorithm tosnd all maximal quasiperiodic substrings in a string S of length nsrst constructs the sux tree T (S) of S in time O(n) using any existing sux tree construction algorithm, e.g. =-=[19, 27, 28-=-], and then processes T (S) in two phases. Each phase involves one or more traversals of T (S). In thesrst phase the algorithm identies all nodes of T (S) with a superprimitive pathlabel. In the secon... |

343 | On-Line Construction of Suffix Trees
- Ukkonen
- 1995
(Show Context)
Citation Context ...The algorithm to find all maximal quasiperiodic substrings in a string S of length n first constructs the suffix tree T (S)ofS in time O(n) using any existing suffix tree construction algorithm, e.g. =-=[28,19,27]-=-, and then processes T (S)intwo phases. Each phase involves one or more traversals of T (S). In the first phase the algorithm identifies all nodes of T (S) with a superprimitive path-label. In the sec... |

184 |
An algorithm for the organization of information
- ADEL’SON-VEL’SKII, LANDIS
- 1962
(Show Context)
Citation Context ...e 2 illustrates the properties described by Theorem 2. 4 Searching and Merging Height-Balanced Trees In this section we consider various operations on height-balanced binary trees [2], e.g. AVL-trees =-=[1]-=-, and present an extension of the well-known “smaller-half trick” which implies a non-trivial bound on the time it takes to perform a sequence of operations on height-balanced binary trees. This bound... |

126 |
Über die gegenseitige Lage gleicher Teile gewisser Zeichenreihern. Norske vid
- Thue
- 1912
(Show Context)
Citation Context ...are consecutive occurrences of the same substring. Two consecutive occurrences of the same substring is called an occurrence of a square or a tandem repeat. In the beginning of the last century, Thue =-=[25, 26]-=- showed how to construct arbitrary long strings over any alphabet of more than two characters that contain no squares. Since then a lot of work have focused on developing ecient methods for counting o... |

90 | Transducers and repetitions
- Crochemore
- 1986
(Show Context)
Citation Context ...have focused on developing ecient methods for counting or detecting squares in strings. Several methods that determine if a string of length n contains a square in time O(n) have been presented, e.g. =-=[12, 18, 23]-=-. Several methods thatsnd occurrences of squares in a string of length n in time O(n log n) plus the time it takes to output the detected squares have been presented, e.g. [6, 11, 17, 24]. Recently tw... |

86 |
An optimal algorithm for computing the repetitions in a word
- Crochemore
- 1981
(Show Context)
Citation Context ...presented, e.g. [12, 18, 23]. Several methods thatsnd occurrences of squares in a string of length n in time O(n log n) plus the time it takes to output the detected squares have been presented, e.g. =-=[6, 11, 17, 24-=-]. Recently two methods [14, 16] have been presented thatsnd a compact representation of all squares in a string of length n in time O(n). Basic Research In Computer Science (BRICS), Center of the Da... |

80 |
Optimal off-line detection of repetitions in a string. Theoret
- Apostolico, Preparata
- 1983
(Show Context)
Citation Context ...f work have focused on developing efficient methods to count or detect squares in strings. Several methods [18,23,12] can determine if a string of length n contains a square in time O(n), and methods =-=[11,6,17,24]-=- can find occurrences of squares in a string of length n in time O(n log n) plus the time it takes to output the detected squares. Recently two methods [16,14] have been presented that find a compact ... |

77 |
pattern matching algorithm
- Linear
- 1973
(Show Context)
Citation Context ...emma. 2 5 Algorithm The algorithm tosnd all maximal quasiperiodic substrings in a string Ssrst constructs the sux tree T (S) of S in time O(n) using any existing sux tree construction algorithm, e.g. =-=[13, 21, 29, 30-=-], and then processes T (S) in two phases. Each phase involves one or more traversals of T (S). In thesrst phase the algorithm identies all nodes of T (S) with a superprimitive path-label. In the seco... |

73 |
An O(n log n) algorithm for finding all repetitions in a string
- Main, Lorentz
- 1984
(Show Context)
Citation Context ...f work have focused on developing efficient methods to count or detect squares in strings. Several methods [18,23,12] can determine if a string of length n contains a square in time O(n), and methods =-=[11,6,17,24]-=- can find occurrences of squares in a string of length n in time O(n log n) plus the time it takes to output the detected squares. Recently two methods [16,14] have been presented that find a compact ... |

60 |
A space-economical sux tree construction algorithm
- McCreight
- 1976
(Show Context)
Citation Context ...gorithm The algorithm tosnd all maximal quasiperiodic substrings in a string S of length nsrst constructs the sux tree T (S) of S in time O(n) using any existing sux tree construction algorithm, e.g. =-=[19, 27, 28-=-], and then processes T (S) in two phases. Each phase involves one or more traversals of T (S). In thesrst phase the algorithm identies all nodes of T (S) with a superprimitive pathlabel. In the secon... |

56 | Algorithms on Strings Trees and Sequences - Gus - 1997 |

46 | Simple and flexible detection of contiguous repeats using a suffix tree
- Stoye, Gusfield
- 1998
(Show Context)
Citation Context ...f work have focused on developing efficient methods to count or detect squares in strings. Several methods [18,23,12] can determine if a string of length n contains a square in time O(n), and methods =-=[11,6,17,24]-=- can find occurrences of squares in a string of length n in time O(n log n) plus the time it takes to output the detected squares. Recently two methods [16,14] have been presented that find a compact ... |

38 |
A Fast Merging Algorithm
- Brown, Tarjan
- 1979
(Show Context)
Citation Context ... is the size of the tree and k is the number elements to be inserted or searched for. Proof. If k n, the theorem follows immediately. In the following we therefore assume k n. Brown and Tarjan in [1=-=-=-0] show how to merge two (standard) height-balanced trees in time O(k maxf1; log(n=k)g), especially their algorithm performs k top-down searches in time O(k maxf1; log(n=k)g). Since a search for an ... |

33 | Linear time algorithms for finding and representing all the tandem repeats in a string
- Gusfield, Stoye
- 2004
(Show Context)
Citation Context ... a square in time O(n), and methods [11,6,17,24] can find occurrences of squares in a string of length n in time O(n log n) plus the time it takes to output the detected squares. Recently two methods =-=[16,14]-=- have been presented that find a compact representation of all squares in a string of length n in time O(n). A way to describe the regularity of an entire string in terms of repetitive substrings is t... |

30 |
On-line construction of sux trees
- Ukkonen
- 1995
(Show Context)
Citation Context ...gorithm The algorithm tosnd all maximal quasiperiodic substrings in a string S of length nsrst constructs the sux tree T (S) of S in time O(n) using any existing sux tree construction algorithm, e.g. =-=[19, 27, 28-=-], and then processes T (S) in two phases. Each phase involves one or more traversals of T (S). In thesrst phase the algorithm identies all nodes of T (S) with a superprimitive pathlabel. In the secon... |

29 | Optimal superprimitivity testing for strings
- Apostolico, Farach, et al.
- 1991
(Show Context)
Citation Context .... A covering of S implies that S contains a square, so by the result of Thue not all strings are quasiperiodic. A string that is not quasiperiodic is superprimitive. Apostolico, Farach and Iliopoulos =-=[5-=-] presented an algorithm thatsnds the quasiperiod of a given string of length n in time O(n). This algorithm was simplied and made on-line by Breslauer [8]. Moore and Smyth [22] presented an algorithm... |

27 |
An algorithm for the organization of information. Doklady Akademii Nauk SSSR
- Adel'son-Vel'skii, Landis
- 1962
(Show Context)
Citation Context ...igure 2 illustrates the properties described by Theorem 2. 4 Searching and Merging Height-Balanced Trees In this section we consider various operations on height-balanced binary trees, e.g. AVL-trees =-=[1], and-=- present an extension of the well-known \smaller-half trick" which implies a non-trivial bound on the time it takes to perform a sequence of operations on height-balanced binary trees. This bound... |

27 | Sorting and Searching, volume 1 of Data Structures and Algorithms - Mehlhorn - 1984 |

26 | Finding Maximal Pairs with Bounded Gap
- Brodal, Lyngso, et al.
- 2000
(Show Context)
Citation Context ...ding tandem repeats. The stronger version of the \smaller-half trick" is hinted at in [20, Exercise 35] and stated in Lemma 6. 2 In [21, Chapter 5] it is used in the analysis ofsnger searches, an=-=d in [9]-=- it is used in the analysis and formulation of an algorithm tosnd all maximal pairs with bounded gap in a string. Recently, and independent of our work, Iliopoulos and Mouchard in [15] report an algor... |

23 |
Optimal su'x tree construction with large alphabets, in
- Farach
- 1997
(Show Context)
Citation Context ...emma. 2 5 Algorithm The algorithm tosnd all maximal quasiperiodic substrings in a string Ssrst constructs the sux tree T (S) of S in time O(n) using any existing sux tree construction algorithm, e.g. =-=[13, 21, 29, 30-=-], and then processes T (S) in two phases. Each phase involves one or more traversals of T (S). In thesrst phase the algorithm identies all nodes of T (S) with a superprimitive path-label. In the seco... |

20 |
Linear time recognition of squarefree strings
- Main, Lorentz
- 1985
(Show Context)
Citation Context ...have focused on developing ecient methods for counting or detecting squares in strings. Several methods that determine if a string of length n contains a square in time O(n) have been presented, e.g. =-=[12, 18, 23]-=-. Several methods thatsnd occurrences of squares in a string of length n in time O(n log n) plus the time it takes to output the detected squares have been presented, e.g. [6, 11, 17, 24]. Recently tw... |

19 |
Efficient detection of quasiperiodicities in strings
- Apostolico, Ehrenfeucht
- 1993
(Show Context)
Citation Context ...(n). Similar to the period of a string, the quasiperiod of a string describes a global property of the string, but quasiperiods can also be used to characterize substrings. Apostolico and Ehrenfeucht =-=-=-[4] introduced the notion of maximal quasiperiodic substrings of a string. Informally, a quasiperiodic substringsof S with quasiperiod is maximal if no extension ofscan be covered by or a, where a i... |

17 | Data structures and algorithms for the string statistics problem - Apostolico, Preparata - 1996 |

17 | An on-line string superprimitivity test
- Breslauer
- 1992
(Show Context)
Citation Context ...primitive. Apostolico, Farach and Iliopoulos [5] presented an algorithm thatsnds the quasiperiod of a given string of length n in time O(n). This algorithm was simplied and made on-line by Breslauer [=-=8]-=-. Moore and Smyth [22] presented an algorithm thatsnds all substrings that covers a given string of length n in time O(n). Similar to the period of a string, the quasiperiod of a string describes a gl... |

16 | Computing the covers of a string in linear time
- Moore, Smyth
- 1994
(Show Context)
Citation Context ..., Farach and Iliopoulos [5] presented an algorithm thatsnds the quasiperiod of a given string of length n in time O(n). This algorithm was simplied and made on-line by Breslauer [8]. Moore and Smyth [=-=22]-=- presented an algorithm thatsnds all substrings that covers a given string of length n in time O(n). Similar to the period of a string, the quasiperiod of a string describes a global property of the s... |

16 |
Computation of squares in a string
- Kosaraju
- 1994
(Show Context)
Citation Context ...o develop ecient methods to detect or count squares in strings. Several methods [12, 20, 25] have been presented that determine if a string of length n contains a square in time O(n). Several methods =-=[6, 9, 11, 18, 19, 26-=-] have been presented thatsnd occurrences of squares in a string of length n in time O(n log n) plus the time it takes to output the detected squares. Recently Basic Research In Computer Science (BRI... |

14 | Maximal repetitions in words or how to find all squares in linear time
- Kolpakov, Kucherov
- 1998
(Show Context)
Citation Context ... a square in time O(n), and methods [11,6,17,24] can find occurrences of squares in a string of length n in time O(n log n) plus the time it takes to output the detected squares. Recently two methods =-=[16,14]-=- have been presented that find a compact representation of all squares in a string of length n in time O(n). A way to describe the regularity of an entire string in terms of repetitive substrings is t... |

13 |
Discovering Repetitions in Strings
- Rabin
- 1984
(Show Context)
Citation Context ...have focused on developing ecient methods for counting or detecting squares in strings. Several methods that determine if a string of length n contains a square in time O(n) have been presented, e.g. =-=[12, 18, 23]-=-. Several methods thatsnd occurrences of squares in a string of length n in time O(n log n) plus the time it takes to output the detected squares have been presented, e.g. [6, 11, 17, 24]. Recently tw... |

12 |
An algorithm for all repetitions in a string
- Lorentz
- 1984
(Show Context)
Citation Context ...presented, e.g. [12, 18, 23]. Several methods thatsnd occurrences of squares in a string of length n in time O(n log n) plus the time it takes to output the detected squares have been presented, e.g. =-=[6, 11, 17, 24-=-]. Recently two methods [14, 16] have been presented thatsnd a compact representation of all squares in a string of length n in time O(n). Basic Research In Computer Science (BRICS), Center of the Da... |

5 |
Optimal o-line detection of repetitions in a string. Theoretical Computer Science
- Apostolico, Preparata
- 1983
(Show Context)
Citation Context ...presented, e.g. [12, 18, 23]. Several methods thatsnd occurrences of squares in a string of length n in time O(n log n) plus the time it takes to output the detected squares have been presented, e.g. =-=[6, 11, 17, 24-=-]. Recently two methods [14, 16] have been presented thatsnd a compact representation of all squares in a string of length n in time O(n). Basic Research In Computer Science (BRICS), Center of the Da... |

5 |
Quasiperiodicity: From detection to normal forms
- Iliopoulos, Mouchard
- 1999
(Show Context)
Citation Context ...searches, and in [9] it is used in the analysis and formulation of an algorithm tosnd all maximal pairs with bounded gap in a string. Recently, and independent of our work, Iliopoulos and Mouchard in =-=[15-=-] report an algorithm with running time O(n log n) forsnding all maximal quasiperiodic substrings in a string of length n. Their algorithm diers from our algorithm as it does not use the sux tree as t... |

4 |
Of periods, quasiperiods, repetitions and covers. In A selection of essays in honor of
- Apostolico, Breslauer
- 1997
(Show Context)
Citation Context ...ons is the period of S. A string that is not periodic is primitive. Some regularities in strings cannot be characterized eciently using periods or squares. To remedy this, Ehrenfeucht, as referred in =-=[-=-3], suggested the notation of a quasiperiodic string. A string S is quasiperiodic if it can be constructed by concatenations and superpositions of a shorter string . We say that covers S. Several str... |

4 |
Simple and detection of contiguous repeats using a sux tree
- Stoye, Gus
- 1998
(Show Context)
Citation Context |

3 |
Maximal repetitions in words or how to all squares in linear time
- Kolpakov, Kucherov
- 1998
(Show Context)
Citation Context ...methods thatsnd occurrences of squares in a string of length n in time O(n log n) plus the time it takes to output the detected squares have been presented, e.g. [6, 11, 17, 24]. Recently two methods =-=[14, 16-=-] have been presented thatsnd a compact representation of all squares in a string of length n in time O(n). Basic Research In Computer Science (BRICS), Center of the Danish National Research Foundati... |

3 |
Uber unendliche Zeichenreihen. Skrifter udgivet af Videnskabsselskabet i Christiania, Mathematisk- og Naturvidenskabeligklasse
- Thue
- 1906
(Show Context)
Citation Context ...are consecutive occurrences of the same substring. Two consecutive occurrences of the same substring is called an occurrence of a square or a tandem repeat. In the beginning of the last century, Thue =-=[25, 26]-=- showed how to construct arbitrary long strings over any alphabet of more than two characters that contain no squares. Since then a lot of work have focused on developing ecient methods for counting o... |

2 | Transducers and repetitions, Theoretical Computer Science 45 - Crochemore - 1986 |

1 |
Linear time algorithms for and representing all the tandem repeats in a string
- Gus, Stoye
- 1998
(Show Context)
Citation Context ...methods thatsnd occurrences of squares in a string of length n in time O(n log n) plus the time it takes to output the detected squares have been presented, e.g. [6, 11, 17, 24]. Recently two methods =-=[14, 16-=-] have been presented thatsnd a compact representation of all squares in a string of length n in time O(n). Basic Research In Computer Science (BRICS), Center of the Danish National Research Foundati... |

1 | A selection of essays in honor of A. Ehrenfeucht, volume 1261 of Lecture Notes in Computer Science - In - 1997 |