English

Logarithmic-Time Internal Pattern Matching Queries in Compressed and Dynamic Texts

Data Structures and Algorithms 2025-03-06 v1

Abstract

Internal Pattern Matching (IPM) queries on a text TT, given two fragments XX and YY of TT such that Y<2X|Y|<2|X|, ask to compute all exact occurrences of XX within YY. IPM queries have been introduced by Kociumaka, Radoszewski, Rytter, and Wale\'n [SODA'15 & SICOMP'24], who showed that they can be answered in O(1)O(1) time using a data structure of size O(n)O(n) and used this result to answer various queries about fragments of TT. In this work, we study IPM queries on compressed and dynamic strings. Our result is an O(logn)O(\log n)-time query algorithm applicable to any balanced recompression-based run-length straight-line program (RLSLP). In particular, one can use it on top of the RLSLP of Kociumaka, Navarro, and Prezza [IEEE TIT'23], whose size O(δlognlogσδlogn)O\big(\delta \log \frac{n\log \sigma}{\delta \log n}\big) is optimal (among all text representations) as a function of the text length nn, the alphabet size σ\sigma, and the substring complexity δ\delta. Our procedure does not rely on any preprocessing of the underlying RLSLP, which makes it readily applicable on top of the dynamic strings data structure of Gawrychowski, Karczmarz, Kociumaka, {\L}\k{a}cki and Sankowski [SODA'18], which supports fully persistent updates in logarithmic time with high probability.

Keywords

Cite

@article{arxiv.2503.03488,
  title  = {Logarithmic-Time Internal Pattern Matching Queries in Compressed and Dynamic Texts},
  author = {Anouk Duyster and Tomasz Kociumaka},
  journal= {arXiv preprint arXiv:2503.03488},
  year   = {2025}
}

Comments

A preliminary version of this work was presented at SPIRE 2024

R2 v1 2026-06-28T22:07:47.856Z