[论文解读] Linear time construction of compressed text indices in compact space
本文提出了一种随机线性时间算法,用于在 O(n log σ) 位空间内构建压缩后缀数组(CSA)和压缩后缀树(CST),空间复杂度与原文本完全一致。通过引入一种新颖的基于栈的后缀数组区间枚举技术,并优化 Burrows-Wheeler 变换(BWT)的构建过程,该方法实现了 O(n) 的时间复杂度,显著优于以往在相同空间约束下的 O(n log log σ) 和 O(n log^ε n) 时间界限。
We show that the compressed suffix array and the compressed suffix tree for a string of length $n$ over an integer alphabet of size $σ\leq n$ can both be built in $O(n)$ (randomized) time using only $O(n\logσ)$ bits of working space. The previously fastest construction algorithms that used $O(n\logσ)$ bits of space took times $O(n\log\logσ)$ and $O(n\log^εn)$ respectively (where $ε$ is any positive constant smaller than $1$). In the passing, we show that the Burrows-Wheeler transform of a string of length $n$ over an alphabet of size $σ$ can be built in deterministic $O(n)$ time and space $O(n\logσ)$. We also show that within the same time and space, we can carry many sequence analysis tasks and construct some variants of the compressed suffix array and compressed suffix tree.
研究动机与目标
- 解决在紧凑空间约束下构建压缩后缀数组和后缀树时的性能瓶颈。
- 在保持 O(n log σ) 位空间的前提下,将压缩后缀结构的构建时间从 O(n log log σ) 和 O(n log^ε n) 降低至 O(n)。
- 在相同的时间与空间界限内支持高效的序列分析任务。
- 使用 O(n log σ) 位空间,为 Burrows-Wheeler 变换提供确定性的 O(n) 构建方法。
- 将该方法扩展至支持高级 FM-index 变体和 CST,实现在高效时间内的构建。
提出的方法
- 提出一种基于栈的后缀数组区间枚举技术,替代先前依赖队列和位向量的方法,以减少空间使用。
- 借鉴先前工作的双向 BWT 构建方法,优化每一步合并操作,使其在线性时间内完成。
- 利用哈希技术实现后缀树拓扑中的常数时间操作,尽管使用了哈希表,仍能实现随机化的 O(n) 构建。
- 利用 FM-index 和双向 BWT 支持高效的 Weiner link 模拟与区间枚举。
- 将 BWT 构建与一种新方法结合,利用双向操作构建排列后的 LCP 数组。
- 通过增强 CST 的辅助数据结构,实现在 O(log^ε n) 时间内支持子节点和字符串层级祖先查询。
实验结果
研究问题
- RQ1是否可以在仅使用 O(n log σ) 位空间的前提下,以 O(n) 时间复杂度构建压缩后缀数组和压缩后缀树?
- RQ2是否可以以确定性方式在 O(n) 时间和 O(n log σ) 空间内计算 Burrows-Wheeler 变换?
- RQ3后缀数组区间的枚举是否足够高效,足以支持压缩索引的线性时间构建?
- RQ4支持常数时间 Weiner link 的高级 FM-index 变体(如支持常数时间 Weiner link 的变体)是否可以实现在随机化线性时间内的构建?
- RQ5在紧凑空间下,依赖后缀树节点枚举的序列分析问题是否可以以随机化 O(n) 时间求解?
主要发现
- 压缩后缀数组和压缩后缀树均可在随机化 O(n) 时间内构建,且仅使用 O(n log σ) 位工作空间。
- Burrows-Wheeler 变换可在确定性 O(n) 时间和 O(n log σ) 位空间内构建。
- 新型基于栈的区间枚举技术显著降低了空间使用,并支持 CST 组件的线性时间构建。
- 可通过双向 BWT 操作高效构建排列后的 LCP 数组。
- 高级 FM-index 变体(包括支持常数时间 Weiner link 的变体)可在随机化线性时间内构建。
- 许多序列分析问题(如寻找最大重复子串和精确匹配)现在可在随机化 O(n) 时间内,且仅使用 O(n log σ) 位空间求解。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。