原地稀疏后缀排序
摘要
后缀数组编码了文本所有后缀的字典序,常与最长公共前缀数组(LCP)结合,以在缩减的空间内模拟后缀树上的导航查询。在稀疏和压缩文本索引等空间受限的应用中,往往只需要所有 个文本后缀中大小为 的子集的字典序信息。这类信息可以高效地(用 个字)存储在稀疏后缀数组(SSA)中。SSA 及其相关的稀疏 LCP 数组(SLCP)可作为稀疏后缀树的空间高效替代品。最近,Gawrychowski 和 Kociumaka [SODA 2017] 证明,稀疏后缀树(因而 SSA 和 SLCP)可以用一个运行时间为 的蒙特卡洛算法在渐近最优的 空间内构建。然而,使用 SSA 和 SLCP 数组替代稀疏后缀树的主要原因在于它们各自仅需 个字的缩减空间。这自然引出了对构建这些数组的原地算法的探索。Franceschini 和 Muthukrishnan [ICALP 2007] 证明,完整的后缀数组可以在原地并以最优运行时间构建。另一方面,为构建**一般**后缀子集的 SSA 和 SLCP 寻找亚二次的原地算法,几十年来一直是一项难以实现的任务。本文给出了该问题的首个解决方案。我们提供了首个在 期望时间内原地构建完整 LCP 数组的算法,以及首个在 期望时间内原地构建 SSA 和 SLCP 的蒙特卡洛算法。此外,我们还描述了后缀选择问题的首个原地解决方案:计算第 小的文本后缀。
引用
@article{arxiv.1608.05100,
title = {In-Place Sparse Suffix Sorting},
author = {Nicola Prezza},
journal= {arXiv preprint arXiv:1608.05100},
year = {2017}
}
备注
ACM-SIAM Symposium on Discrete Algorithms 2018; arXiv admin note: text overlap with arXiv:1607.06660 Comment: new style (lipics); using Heath-Brown theorem for number of primes in Z; improved bounds for LCP array computation and sparse suffix sorting; added construction of the LCE structure using radix sort; added reference to lower bound for LCE query times; uploaded version accepted at SODA 2018