License: Creative Commons Attribution 3.0 Unported license (CC BY 3.0)
When quoting this document, please refer to the following
DOI: 10.4230/LIPIcs.ESA.2019.5
URN: urn:nbn:de:0030-drops-111265
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2019/11126/
Amir, Amihood ;
Boneh, Itai ;
Charalampopoulos, Panagiotis ;
Kondratovsky, Eitan
Repetition Detection in a Dynamic String
Abstract
A string UU for a non-empty string U is called a square. Squares have been well-studied both from a combinatorial and an algorithmic perspective. In this paper, we are the first to consider the problem of maintaining a representation of the squares in a dynamic string S of length at most n. We present an algorithm that updates this representation in n^o(1) time. This representation allows us to report a longest square-substring of S in O(1) time and all square-substrings of S in O(output) time. We achieve this by introducing a novel tool - maintaining prefix-suffix matches of two dynamic strings.
We extend the above result to address the problem of maintaining a representation of all runs (maximal repetitions) of the string. Runs are known to capture the periodic structure of a string, and, as an application, we show that our representation of runs allows us to efficiently answer periodicity queries for substrings of a dynamic string. These queries have proven useful in static pattern matching problems and our techniques have the potential of offering solutions to these problems in a dynamic text setting.
BibTeX - Entry
@InProceedings{amir_et_al:LIPIcs:2019:11126,
author = {Amihood Amir and Itai Boneh and Panagiotis Charalampopoulos and Eitan Kondratovsky},
title = {{Repetition Detection in a Dynamic String}},
booktitle = {27th Annual European Symposium on Algorithms (ESA 2019)},
pages = {5:1--5:18},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-95977-124-5},
ISSN = {1868-8969},
year = {2019},
volume = {144},
editor = {Michael A. Bender and Ola Svensson and Grzegorz Herman},
publisher = {Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
address = {Dagstuhl, Germany},
URL = {http://drops.dagstuhl.de/opus/volltexte/2019/11126},
URN = {urn:nbn:de:0030-drops-111265},
doi = {10.4230/LIPIcs.ESA.2019.5},
annote = {Keywords: string algorithms, dynamic algorithms, squares, repetitions, runs}
}
Keywords: |
|
string algorithms, dynamic algorithms, squares, repetitions, runs |
Collection: |
|
27th Annual European Symposium on Algorithms (ESA 2019) |
Issue Date: |
|
2019 |
Date of publication: |
|
06.09.2019 |