arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2408.04537cs.DS
收藏

更快的游程长度压缩后缀数组

Faster run-length compressed suffix arrays

Nathaniel K. Brown, Travis Gagie, Giovanni Manzini, Gonzalo Navarro, Marinella Sciortino

AI总结:

该研究针对游程长度压缩后缀数组(RLCSA),通过修改其结构并应用新结果,将查找aP的SA区间的时间复杂度从O(log r_a + log log n)降至O(log r_a),同时不增加空间复杂度,还探讨了其对两级索引及最大精确匹配启发式方法的优化作用。

摘要:

我们首先回顾如何为长度为n、字母表大小为σ的文本T存储游程长度压缩后缀数组(RLCSA),其Burrows-Wheeler变换(BWT)包含r个游程,存储量为O(r log(n/r) + r log σ + σ)位;后续给定字符a和模式P的后缀数组区间时,可在O(log r_a + log log n)时间内找到aP的后缀数组(SA)区间,其中r_a是BWT中字符a的游程数。接着,我们展示如何修改RLCSA,使其在不增加渐近空间复杂度的情况下,仅需O(log r_a)时间即可找到aP的SA区间。关键思路是应用Nishimoto和Tabei(ICALP 2021)的结果,并用常数次select查询替换稀疏位向量上的rank查询。我们还回顾了两级索引,并讨论改进后的快速RLCSA如何助力优化两级索引。最后,简要探讨两级索引如何加速近期针对索引文本查找模式最大精确匹配的启发式方法。

英文摘要:

We first review how we can store a run-length compressed suffix array (RLCSA) for a text $T$ of length $n$ over an alphabet of size $σ$ whose Burrows-Wheeler Transform (BWT) consists of $r$ runs in $O \left( \rule{0ex}{2ex} r \log (n / r) + r \log σ+ σ\right)$ bits such that later, given character $a$ and the suffix array interval for $P$, we can find the suffix-array (SA) interval for $a P$ in $O (\log r_a + \log \log n)$ time, where $r_a$ is the number of runs of copies of $a$ in the BWT. We then show how to modify the RLCSA such that we find the SA interval for $a P$ in only $O (\log r_a)$ time, without increasing its asymptotic space bound. Our key idea is applying a result by Nishimoto and Tabei (ICALP 2021) and then replacing rank queries on sparse bitvectors by a constant number of select queries. We also review two-level indexing and discuss how our faster RLCSA may be useful in improving it. Finally, we briefly discuss how two-level indexing may speed up a recent heuristic for finding maximal exact matches of a pattern with respect to an indexed text.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑