计算机科学 > 数据结构与算法
[提交于 2025年10月30日
]
标题: 节省空间的k不匹配文本索引
标题: Space-Efficient k-Mismatch Text Indexes
摘要: 字符串处理中的一个核心任务是文本索引,其目标是将文本(长度为$n$的字符串)预处理成一个高效的索引(数据结构),以支持对文本的查询。 Cole、Gottlieb 和 Lewenstein(STOC 2004)提出了$k$-errata 树,这是一种支持多种类型近似模式匹配查询的文本索引族。 特别是,$k$-errata 树为$k$-mismatch 查询提供了一个优雅的解决方案,其中需要报告与查询模式汉明距离最多为$k$的所有文本子串。 结果的$k$-不匹配索引使用$O(n\log^k n)$空间,并在$O(\log^k n \log \log n + m + occ)$时间内回答长度为$m$的模式查询,其中$occ$是近似出现次数。 回顾过去,$k$-errata 树看起来已经非常优化:尽管在过去二十年中,大量工作将$k$-errata 树适应到各种环境中,但$k$-mismatch 索引的原始时间空间权衡在一般情况下并未得到改进。 我们提出了第一个这样的改进,一个具有$k$-mismatch 的索引,使用$O(n\log^{k-1} n)$空间,查询时间与$k$-errata 树相同。 以前,由于 Chan、Lam、Sung、Tam 和 Wong(Algorithmica 2010)的一个结果,仅知道对于字母表大小为常数的文本,存在这样的$O(n\log^{k-1} n)$-size 索引。 在这种情况下,我们获得了一个更小的$k$-不匹配索引,大小仅为$O(n \log^{k-2+\varepsilon+\frac{2}{k+2-(k \bmod 2)}} n)\subseteq O(n\log^{k-1.5+\varepsilon} n)$对于$2\le k\le O(1)$和任何常数$\varepsilon>0$。在这一过程中,我们还为短模式开发了改进的索引,在这个实际相关的特殊情况下提供了更好的权衡。
文献和引用工具
与本文相关的代码,数据和媒体
alphaXiv (什么是 alphaXiv?)
CatalyzeX 代码查找器 (什么是 CatalyzeX?)
DagsHub (什么是 DagsHub?)
Gotit.pub (什么是 GotitPub?)
Hugging Face (什么是 Huggingface?)
带有代码的论文 (什么是带有代码的论文?)
ScienceCast (什么是 ScienceCast?)
演示
推荐器和搜索工具
arXivLabs:与社区合作伙伴的实验项目
arXivLabs 是一个框架,允许合作伙伴直接在我们的网站上开发和分享新的 arXiv 特性。
与 arXivLabs 合作的个人和组织都接受了我们的价值观,即开放、社区、卓越和用户数据隐私。arXiv 承诺这些价值观,并且只与遵守这些价值观的合作伙伴合作。
有一个为 arXiv 社区增加价值的项目想法吗? 了解更多关于 arXivLabs 的信息.