可更新的动态 r-index:LCP 有界时间的自索引结构
数据结构与算法
2025-10-30 v4
摘要
自索引是一种支持 locate 查询的数据压缩结构,用于报告给定模式在字符串中出现的全部位置,同时保持字符串的压缩形式。虽然已提出许多自索引,但开发支持字符串插入和删除的数据可更新版本仍具有挑战性。r-index (Gagie 等,JACM'20) 是一种基于 run-length BWT (RLBWT) 设计的代表性静态自索引,适用于高度重复字符串。我们提出的动态 r-index 是 r-index 的动态扩展,实现了 LCP 有界时间的更新。动态 r-index 支持在 时间内进行 count 查询,locate 查询在 时间内完成,其中 为查询长度, 为出现的次数, 为 RLBWT 中的 run 数目。使用 单词的空间。关键在于,更新操作以 时间实现针对长度为 的子串,其中 为最大 LCP 值;平均运行时间为 ,其中 为平均 LCP 值。这种 LCP 有界复杂度在 LCP 值通常较小的高度重复字符串中尤为有利。我们在 various 高度重复数据集上实验性地演示了动态 r-index 的实际效率。
引用
@article{arxiv.2504.19482,
title = {Dynamic r-index: An Updatable Self-Index in LCP-bounded Time},
author = {Takaaki Nishimoto and Yasuo Tabei},
journal= {arXiv preprint arXiv:2504.19482},
year = {2025}
}
备注
I fixed the abstract so that it is now displayed correctly in Chrome