English

Compressed Indexing with Signature Grammars

Data Structures and Algorithms 2018-04-12 v3

Abstract

The compressed indexing problem is to preprocess a string SS of length nn into a compressed representation that supports pattern matching queries. That is, given a string PP of length mm report all occurrences of PP in SS. We present a data structure that supports pattern matching queries in O(m+occ(lglgn+lgϵz))O(m + occ (\lg\lg n + \lg^\epsilon z)) time using O(zlg(n/z))O(z \lg(n / z)) space where zz is the size of the LZ77 parse of SS and ϵ>0\epsilon > 0 is an arbitrarily small constant, when the alphabet is small or z=O(n1δ)z = O(n^{1 - \delta}) for any constant δ>0\delta > 0. We also present two data structures for the general case; one where the space is increased by O(zlglgz)O(z\lg\lg z), and one where the query time changes from worst-case to expected. These results improve the previously best known solutions. Notably, this is the first data structure that decides if PP occurs in SS in O(m)O(m) time using O(zlg(n/z))O(z\lg(n/z)) space. Our results are mainly obtained by a novel combination of a randomized grammar construction algorithm with well known techniques relating pattern matching to 2D-range reporting.

Keywords

Cite

@article{arxiv.1711.08217,
  title  = {Compressed Indexing with Signature Grammars},
  author = {Anders Roy Christiansen and Mikko Berggren Ettienne},
  journal= {arXiv preprint arXiv:1711.08217},
  year   = {2018}
}
R2 v1 2026-06-22T22:53:48.861Z