Papers
Topics
Authors
Recent
Search
2000 character limit reached

Dynamic r-index: An Updatable Self-Index for Highly Repetitive Strings

Published 28 Apr 2025 in cs.DS | (2504.19482v2)

Abstract: A self-index is a compressed data structure that supports locate queries-reporting all positions where a given pattern occurs in a string. While many self-indexes have been proposed, developing dynamically updatable ones supporting string insertions and deletions remains a challenge. The r-index (Gagie et al., SODA'18) is a representative static self-index based on the run-length Burrows-Wheeler transform (RLBWT), designed for highly repetitive strings - those with many repeated substrings. We present the dynamic r-index, an extension of the r-index that supports locate queries in $\mathcal{O}((m + \mathsf{occ}) \log n)$ time using $\mathcal{O}(r)$ words, where $n$ is the length of the string $T$, $m$ is the pattern length, $\mathsf{occ}$ is the number of occurrences, and $r$ is the number of runs in the RLBWT of $T$. It supports string insertions and deletions in $\mathcal{O}((m + L_{\mathsf{max}}) \log n)$ time, where $L_{\max}$ is the maximum value in the LCP array of $T$. The average running time is $\mathcal{O}((m + L_{\mathsf{avg}}) \log n)$, where $L_{\mathsf{avg}}$ is the average LCP value. We experimentally evaluated the dynamic r-index on various highly repetitive strings and demonstrated its practicality.

Authors (2)

Summary

No one has generated a summary of this paper yet.

Paper to Video (Beta)

No one has generated a video about this paper yet.

Whiteboard

No one has generated a whiteboard explanation for this paper yet.

Open Problems

We haven't generated a list of open problems mentioned in this paper yet.

Continue Learning

We haven't generated follow-up questions for this paper yet.

Collections

Sign up for free to add this paper to one or more collections.

Tweets

Sign up for free to view the 1 tweet with 4 likes about this paper.