## 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(r^{2}|Σ|) in time O(r^{2}(logr+|Σ|log|Σ|)), which allows answering histogram queries in O(|Σ|^{3}logr)-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(|Σ|(r^{2}+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(|Σ|(r^{2}+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