English

r*-indexing

Data Structures and Algorithms 2025-08-19 v1

Abstract

Let T[1..n]T [1..n] be a text over an alphabet of size σpolylog(n)\sigma \in \mathrm{polylog} (n), let rr^* be the sum of the numbers of runs in the Burrows-Wheeler Transforms of TT and its reverse, and let zz be the number of phrases in the LZ77 parse of TT. We show how to store TT in O(rlog(n/r)+zlogn)O (r^* \log (n / r^*) + z \log n) bits such that, given a pattern P[1..m]P [1..m], we can report the locations of the occ\mathrm{occ} occurrences of PP in TT in O(mlogn+occlogϵn)O (m \log n + \mathrm{occ} \log^\epsilon n) time. We can also report the position of the leftmost and rightmost occurrences of PP in TT in the same space and O(mlogϵn)O (m \log^\epsilon n) time.

Keywords

Cite

@article{arxiv.2508.12675,
  title  = {r*-indexing},
  author = {Travis Gagie},
  journal= {arXiv preprint arXiv:2508.12675},
  year   = {2025}
}
R2 v1 2026-07-01T04:54:19.463Z