压缩数据结构的层次崩溃:在最佳压缩空间中的后缀数组

摘要:在过去几十年中,处理海量文本数据的必要性推动了压缩文本索引的发展:这是一种在占用的空间与文本的压缩表示成正比的情况下,高效地回答给定文本查询的数据结构。压缩索引中普遍存在的一个现象是,更强大的查询需要更大的索引。例如,最基本的随机访问查询可以在$O(deltalogfrac{nlogsigma}{deltalog n})$的空间中支持(其中$n$是文本长度,$sigma$是字母表大小,$delta$是文本的子串复杂度),这是表示字符串的最小空间,对于所有的$n$,$sigma$和$delta$都是渐近最小的(Kociumaka,Navarro,Prezza; IEEE Trans. Inf. Theory 2023)。索引支持强大的后缀数组(SA)查询的极限是占用$O(rlogfrac{n}{r})$的空间,其中$rgeqdelta$是文本BWT中的运行数(Gagie,Navarro,Prezza; J. ACM 2020)。 我们提出了一个新的压缩索引,只需要$O(deltalogfrac{nlogsigma}{deltalog n})$的空间来支持$O(log^{4+epsilon} n)$时间的SA功能。这将压缩数据结构的层次结构变为一个点:表示文本所需的空间同时足够支持高效的SA查询。我们的结果立即改进了数十种算法的空间复杂度,这些算法现在可以在最优的压缩空间中执行。 此外,我们展示了如何根据文本的LZ77解析,在$O(delta ext{ polylog } n)$的时间内构建我们的索引。对于高度重复的文本,这比之前最好的算法快上指数倍。为了获得我们的结果,我们开发了许多具有独立兴趣的技术,包括第一个用于LCE查询的$O(deltalogfrac{nlogsigma}{deltalog n})$大小的索引。

作者:Dominik Kempa and Tomasz Kociumaka

论文ID:2308.03635

分类:Data Structures and Algorithms

分类简称:cs.DS

提交时间:2023-08-08

PDF 下载: 英文版 中文版pdf翻译中