中文

在最优时间与空间内构建稀疏后缀树与LCE索引

数据结构与算法 2024-04-23 v3

摘要

同步化集合与划分集合是近来提出的局部一致解析的变体,在问题求解中具有巨大潜力。本文提出一种确定性算法,对于给定长度为 nn、字母表为 {0,1,,nO(1)}\{0,1,\ldots,n^{\mathcal{O}(1)}\} 的只读字符串,在 bnϵb \ge n^\epsilonϵ>0\epsilon > 0)的条件下,利用 O(b)\mathcal{O}(b) 空间与 O(1ϵn)\mathcal{O}(\frac{1}{\epsilon}n) 时间,构造出大小为 O(b)\mathcal{O}(b)τ=nb\tau = \frac{n}{b}τ\tau-划分集合变体。作为推论,当 bnϵb \ge n^\epsilonϵ>0\epsilon > 0 为常数时,我们在字符串之上以 O(b)\mathcal{O}(b) 额外空间获得两个重要小空间索引的线性构造算法:稀疏后缀树(即建立在字符串 bb 个选定后缀上的压缩字典树)与最长公共扩展(LCE)索引(占用 O(b)\mathcal{O}(b) 空间,并允许我们在 O(n/b)\mathcal{O}(n/b) 时间内计算任意子串对的最长公共前缀)。对二者而言,O(b)\mathcal{O}(b) 的构造存储是渐近最优的,因为树本身占用 O(b)\mathcal{O}(b) 空间,且由已知权衡(至少对 bΩ(n/logn)b \ge \Omega(n / \log n))可知,任何查询时间为 O(n/b)\mathcal{O}(n/b) 的 LCE 索引必须占用至少 O(b)\mathcal{O}(b) 空间。对于任意 bΩ(log2n)b \ge \Omega(\log^2 n) 的情形,我们给出划分集合、稀疏后缀树与 LCE 索引的构造算法,其运行时间为 O(nlogbn)\mathcal{O}(n\log_b n)、空间为 O(b)\mathcal{O}(b),从而也改进了现有最优水平。

关键词

引用

@article{arxiv.2105.03782,
  title  = {Construction of Sparse Suffix Trees and LCE Indexes in Optimal Time and Space},
  author = {Dmitry Kosolobov and Nikita Sivukhin},
  journal= {arXiv preprint arXiv:2105.03782},
  year   = {2024}
}

备注

33 pages (1 title page, 15 pages main text, 14 pages appendix), 3 figures, 1 table