高度重复文本压缩索引的最优构造
数据结构与算法
2020-12-09 v8
摘要
我们提出了若干算法,给定长度为 、字母表大小为 的整数字母串输入,可在 的时间与工作空间内构造 Burrows-Wheeler 变换(BWT)、置换最长公共前缀(PLCP)数组以及 LZ77 解析,其中 为输入 BWT 中的游程数。这些是许多压缩索引(如压缩后缀树、FM-index 以及基于文法和 LZ77 的索引)的核心组成部分,同时也在序列分析与数据压缩中有大量应用。 的值是重复性的常用度量,若字符串高度重复则显著小于 。由于仅访问字符串每个符号就需要 时间,对于满足重复性假设 的输入,所提算法在时间与空间上均是最优的。对此类输入,我们的结果改进了 Belazzougui(STOC 2014)与 Munro 等人(SODA 2017)当前最快的通用算法,后者运行时间为 且使用 工作空间。我们还展示了如何运用我们的技术,针对高度重复数据在其他基础字符串处理问题上获得最优解,例如:Lyndon 分解、游程长度压缩后缀数组的构造,以及一些经典的“教科书”问题,如计算至少出现某固定次数的最长子串。
引用
@article{arxiv.1712.04886,
title = {Optimal Construction of Compressed Indexes for Highly Repetitive Texts},
author = {Dominik Kempa},
journal= {arXiv preprint arXiv:1712.04886},
year = {2020}
}