Abstract
In this paper we investigate jumbled (Abelian) versions of three classical strings problems. In all these problems we assume the input string S[1.n] is given in its run-length format S′[1.r]. The Jumbled Indexing problem is the problem of indexing a string S′[1.r] over |Σ| for histogram queries, i.e. given a pattern P, we want to find all substrings of S that are permutations of P. We provide an algorithm that constructs an index of size O(r2|Σ|) in time O(r2(logr+|Σ|log|Σ|)), which allows answering histogram queries in O(|Σ|3logr)-time. The Jumbled Border problem is the problem of finding for every location j in S, the longest proper prefix of S[1.j] that is also a permutation of a proper suffix of S[1.j], if such exists. We provide an algorithm that solves this problem in O(|Σ|(r2+n)) time, and O(|Σ|n) space. A Jumbled Square is a string of the form xx¯, where x¯ is a permutation of x. The Jumbled Square problem is the problem of finding for every location j in S, the longest jumbled square that ends in j, if such exists. We provide an algorithm that solves this problem in O(|Σ|(r2+n)) time, and O(|Σ|n) space.
Original language | English |
---|---|
Pages (from-to) | 146-159 |
Number of pages | 14 |
Journal | Theoretical Computer Science |
Volume | 656 |
DOIs | |
State | Published - 20 Dec 2016 |
Bibliographical note
Publisher Copyright:© 2016 Elsevier B.V.
Keywords
- Abelian border
- Abelian square
- Jumbled Indexing
- Pattern Matching
- String algorithms
ASJC Scopus subject areas
- Theoretical Computer Science
- General Computer Science