Towards a complete perspective on labeled tree indexing: new size bounds, efficient constructions, and beyond
标记树(或trie)是字符串的自然推广,也可以被视为一组字符串的紧凑表示。本文考虑了标记树索引问题,并在空间边界分析、有效构造算法和模式匹配查询等方面提供了一些新的结果。Kakhaju [FOCS 1989]是第一个考虑标记树索引问题的人,他提出了向后trie的后缀树,其中trie中的字符串在叶到根的方向上读取。与向后trie相比,我们称普通trie为向前trie。尽管在Komaju的论文之后有一些后续工作,但索引向前/向后尝试还没有得到很好的理解。在本文中,我们展示了一个完整的角度对索引结构的大小,如后缀树,DAWG,CDAWGs,后缀数组,词缀树,词缀数组的向前和向后尝试。它们中的一些以输入trie的大小$n$占用$O(n)$空间,而另一些在最坏的情况下可以占用$O(n^2)$空间。特别是,我们表明,与$n$节点的正向trie的DAWG的大小是$Ω(σn)$,其中$σ$是在trie中的不同字符的数量。对于大小为$σ= Θ(n)$的字母表,这将成为$Ω(n^2)$。尽管如此,我们表明,有一个紧凑的$O(n)$空间隐式表示的DAWG的前向特里,其空间要求是独立的字母表的大小。该紧凑表示允许在$O(\log σ)$时间上模拟每个DAWG边遍历,并且可以在$O(n)$大小的任何整数字母表上在$O(n)$时间和空间上构造。此外,这容易扩展到第一索引结构,其允许在输入trie树大小的线性空…
2022-01-03 cs.DS
Linear-time Computation of DAWGs, Symmetric Indexing Structures, and MAWs for Integer Alphabets
本文提出在整数字母表上利用后缀树以线性时间构造 DAWG 的算法,并据此首次实现词缀树、对称 CDAWG 等结构的线性时间构建,同时给出 MAW 的最优输入输出敏感计算。
2023-07-04 cs.DS cs.FL
Suffix Trays and Suffix Trists: Structures for Faster Text Indexing
后缀树和后缀数组是文本索引中使用最广泛的两种数据结构。每一个都使用线性空间,并且可以在线性时间内为多项式大小的字母表构造。然而,当涉及到回答具有最坏情况确定性时间边界的查询时,先验在$O(m\log|Σ|)$时间内这样做,其中$m$是查询大小,$|Σ|$是字母表大小,而后者在$O(m+\log n)$时间内这样做,其中$n$是文本大小。如果想要输出查询的所有外观,则$O(occ)$时间的附加成本就足够了,其中$occ$是输出的大小。我们提出了一种新的方式结合成,我们称之为,一个{ \em后缀托盘}。空间和构造时间保持线性,并且对于任意常数$c$,查询时间从线性范围(即,$Σ\subset \{1,\cdots, cn\}$)提高到整数字母表的$O(m+\log|Σ|)$。构造和查询是确定性的。这里,如果期望输出查询的所有外观,则附加的$O(occ)$时间也是足够的。我们还考虑了在线版本的索引,其中文本到达在线,一次一个字符,索引查询是串联回答的。在这个变体中,我们在后缀树和后缀列表(后缀数组的动态变体)之间创建了一个交叉,称为{ \em suffix trist};它支持$O(m+\log|Σ|)$时间查询。后缀trist也使用线性空间。此外,如果存在线性空间后缀树的在线构造,使得添加字符的成本是最坏情况确定性$f(n,|Σ|)$($n$是当前文本的大小),则可以在$O(f(n,|…
2013-11-07 cs.DS
Linear-size CDAWG: new repetition-aware indexing and grammar compression
在本文中,我们提出了一种新的方法,结合\emph{compact directed acyclic word graphs}(CDAWGs)和基于语法的压缩。这使我们得到一种高效的自索引,称为线性大小CDAWG(L-CDAWG),它可以用$O(\tilde e_T \log n)$位空间表示,允许对边缘标签进行$O(\log n)$ -时间随机访问和$O(1)$ -时间顺序访问,以及$O(m \log σ+ occ)$ -时间模式匹配。这里,$\tilde e_T$是$T$中最大重复的所有延伸的数目,$n$和$m$分别是文本$T$和给定模式的长度,$σ$是字母大小,$occ$是$T$中模式的出现次数。对于高度重复的文本,已知重复性度量$\tilde e_T$远小于文本长度$n$。对于常数字母表,我们的L-CDAWG实现$O(m + occ)$模式匹配时间与$O(e_T^r \log n)$位的空间,这提高了模式匹配时间Belazzougui等人。的游程长度BWT-CDAWG的系数为$\log \log n$,具有相同的空间复杂度。这里,$e_T^r$是$T$中最大重复的右延伸的数目。作为一个副产品,我们的结果给出了一种方法来构建一个SLP的大小$O(\tilde e_T)$为一个给定的文本$T$在$O(n + \tilde e_T \log σ)$时间。
2017-07-27 cs.DS
Deterministic Indexing for Packed Strings
给定一个长度为$n$的字符串$S$,经典的字符串索引问题是将$S$预处理成一个紧凑的数据结构,以支持高效的后续模式查询。在\emph{deterministic}变体中,目标是在没有任何随机化的情况下(在预处理时或查询时)解决字符串索引问题。在\emph{packed}变体中,字符串在一个单词中存储有多个字符,这使我们有机会同时读取多个字符。我们的主要结果是一个新的字符串索引的确定性\emph{and}包装设置。给定一个包装字符串$S$的长度$n$在一个字母表$σ$,我们展示了如何预处理$S$在$O(n)$(确定性)的时间和空间$O(n)$,这样,给定一个包装模式字符串的长度$m$,我们可以支持查询(确定性)的时间$O\left(m/α+ \log m + \log \log σ\right), $其中$α= w / \log σ$是字符数包装在一个字的大小$w = Θ(\log n)$。我们的查询时间总是至少与以前的最佳已知边界一样好,并且每当几个字符被打包在一个单词中时,即,$\log σ\ll w$,查询时间更快。
2016-12-06 cs.DS
The Parameterized Suffix Tray
设$Σ$和$Π$是不相交的字母表,分别称为静态字母表和参数化字母表。如果在$Σ$上存在重命名双射$f$,并且在$Σ$上存在恒等的$Π$,并且将$x$的字符映射到$y$的字符,使得两个字符串变得相同,则称$Σ\cup Π$上的两个等长字符串$x$和$y$参数化匹配(p匹配)。在文本中找到给定模式的p-匹配出现的问题的索引版本是字符串匹配中的一个很好的研究课题。在本文中,我们提出了一种用于p匹配的最新索引结构,称为输入文本$T$的参数化后缀托盘,用$\mathsf{PSTray}(T)$表示。我们发现,$\mathsf{PSTray}(T)$占用$O(n)$空间,并支持模式匹配查询在$O(m + \log (σ+π) + \mathit{occ})$时间,其中$n$是$T$的长度,$m$是查询模式$P$的长度,$π$是$T$中$|Π|$的不同符号的数量,$σ$是$T$中$|Σ|$的不同符号的数量,$\mathit{occ}$是$P$在$T$中p匹配出现的数量。本文还介绍了如何利用参数化的$T$后缀树在$O(n)$时间内构造$\mathsf{PSTray}(T)$。
2021-02-04 cs.DS
String Indexing for Patterns with Wildcards
我们考虑索引长度为$n$的字符串$t$以报告包含$m$字符和$j$通配符的查询模式$p$的出现的问题。令$occ$为$p$在$t$中出现的次数,$σ$为字母表的大小。我们得到以下结果。- 带查询时间的线性空间索引$O(m+σ^j \log \log n + occ)$。这显著改进了Lam等人[ISAAC 2007]以前最著名的线性空间索引,在最坏的情况下,它需要查询时间$Θ(jn)$。- 使用空格$O(σ^{k^2} n \log^k \log n)$的查询时间为$O(m+j+occ)$的索引,其中$k$是模式中允许的最大通配符数。这是这个查询时间的第一个非平凡界限。- 时空权衡,Cole et al. [STOC 2004]概括了该指数。我们还表明,这些指数可以推广到允许可变长度的差距的模式。我们的研究结果是使用一种新的组合,众所周知的和新的技术,这可能是独立的利益。
2012-09-06 cs.DS
Compressed Indexing with Signature Grammars
压缩索引问题是将长度为$n$的字符串$S$预处理为支持模式匹配查询的压缩表示。也就是说,给定长度为$m$的字符串$P$,报告$S$中所有出现的$P$。我们提出了一种数据结构,支持模式匹配查询在$O(m + occ (\lg\lg n + \lg^εz))$时间使用$O(z \lg(n / z))$空间,其中$z$是$S$和$ε> 0$的LZ77解析的大小是一个任意小的常数,当字母表是小或$z = O(n^{1 - δ})$的任何常数$δ> 0$。我们还提出了两种数据结构的一般情况下,一个空间增加了$O(z\lg\lg z)$,和一个查询时间的变化从最坏的情况下预期。这些结果改进了以前最好的已知的解决方案。值得注意的是,这是第一个决定$P$是否在$O(m)$时间中使用$O(z\lg(n/z))$空间出现在$S$中的数据结构。我们的研究结果主要是通过一种新的随机语法构建算法与众所周知的技术相结合,模式匹配的2D范围报告。
2018-04-11 cs.DS
Text Indexing and Pattern Matching with Ephemeral Edits
CWI, Amsterdam, The Netherlands(荷兰阿姆斯特丹CWI);Vrije Universiteit, Amsterdam, The Netherlands(荷兰阿姆斯特丹自由大学)
本文提出了一种基于瞬时编辑的文本索引与模式匹配方法,能够在动态编辑序列中高效支持模式匹配查询。
2026-01-07 cs.DS
Time-Space Trade-Offs for Lempel-Ziv Compressed Indexing
给定字符串$S$,\emph{compressed indexing problem}用于将$S$预处理为支持快速\emph{substring queries}的压缩表示。其目标是在支持快速查询的同时,使用相对于$S$压缩大小的很少空间。我们提出了一个压缩索引的Lempel-Ziv 1977压缩方案的基础上。我们得到以下时间-空间权衡:对于恒定大小的字母表;(i)使用$O(z\lg(n/z)\lg\lg z)$空间的$O(m + occ \lg\lg n)$时间,或(ii)使用$O(z\lg(n/z))$空间的$O(m(1 + \frac{\lg^εz}{\lg(n/z)}) + occ(\lg\lg n + \lg^εz))$时间。对于由$n$多项式约束的整数字母表;(iii)使用$O(z(\lg(n/z) + \lg\lg z))$空间的$O(m(1 + \frac{\lg^εz}{\lg(n/z)}) + occ(\lg\lg n + \lg^εz))$时间,或(iv)使用$O(z(\lg(n/z) + \lg^ε z))$空间的$O(m + occ(\lg\lg n + \lg^ε z))$时间,其中$n$和$m$分别是输入串和查询串的长度,$z$是输入串的LZ 77解析中的短语的数目,$occ$是查询在输入中出现的次数,$ε> 0$是一个任意小的常数。具体地,(i)以将…
2018-01-09 cs.DS
r*-indexing
该研究针对文本索引问题,提出一种基于BWT游程数之和$r^*$与LZ77短语数$z$的存储方案,实现了高效的模式匹配查询,包括报告所有出现位置及最左、最右出现位置。
2025-08-18 cs.DS
On Indexing and Compressing Finite Automata
有限自动机的索引是一种强大的数据结构,它支持定位用查询模式标记的路径,从而解决底层正则语言上的模式匹配。在本文中,我们解决了长期存在的问题,索引任意有限自动机。我们的解决方案包括在寻找一个部分co-lexicographic秩序的状态和证明,在总顺序的情况下,达到一个给定的字符串形式的一个区间的偏序,从而使索引。我们提供了一个下限,说明这样的间隔需要$O(p)$字来表示,$p$是订单的宽度(即其最大反链的大小)。事实上,我们表明,$p$确定有限自动机上的几个基本问题的复杂性:(i)让$σ$是字母表的大小,我们提供了一个编码NFA使用$\lceil\log σ\rceil + 2\lceil\log p\rceil + 2$位每过渡和一个较小的编码DFA使用$\lceil\log σ\rceil + \lceil\log p\rceil + 2$位每过渡。这是通过将Burrows-Wheeler变换推广到任意自动机来实现的。(ii)我们表明,索引模式匹配可以解决在$\tilde O(m\cdot p^2)$查询时间NFA。(iii)我们提供了一个多项式时间算法来索引DFA,同时匹配$ p $的最佳值。另一方面,我们证明了该问题是NP-困难的NFA。(iv)我们表明,在最坏的情况下,经典的幂集构造算法的NFA确定产生一个等效的DFA的大小$2^p(n-p+1)-1$,其中$n$是NFA…
2020-07-15 cs.DS
On the Complexity of BWT-runs Minimization via Alphabet Reordering
Burrows-Wheeler变换(BWT)是文本压缩和索引的重要工具。它于1994年首次引入,为经典后缀树数据结构在接近基于熵的下界的空间中的第一个编码提供了主干。最近,已经有紧凑的后缀树在空间中成比例的“$r$“,在BWT中运行的数量,以及$r$的外观在新算法的时间复杂度的发展。与其他流行的压缩度量方法不同,参数$r$对文本字母表的词典顺序很敏感。尽管过去有几次尝试利用这一点,但多年来一直存在一种可证明有效的算法,用于找到或近似最小化$r$的字母顺序。我们提出的第一组结果的计算复杂性最小化BWT运行通过字母表重排。我们证明了这个问题的决策版本是NP完全的,不能解决的时间$2^{o(σ+ \sqrt{n})}$,除非指数时间假设失败,其中$σ$是字母表的大小和$n$是文本的长度。我们还表明,优化问题是APX困难的。在这样做的时候,我们涉及到两个以前不同的主题:最佳的旅行销售人员的路径和运行的BWT的文本的数量,提供了一个令人惊讶的图形和文本压缩的问题之间的连接。此外,有关最近的结果在字典压缩领域,我们说明,任意字母顺序提供了一个$O(\log^2 n)$ -近似。我们提供了一个最佳的线性时间算法的问题,找到一个运行最小化排序的符号(只发生一次)的子集的顺序约束下,并证明了这个问题的推广到一类图的BWT一样的属性称为惠勒图是NP-完全的。
2020-02-18 cs.DS
Text Indexing and Searching in Sublinear Time
我们介绍了第一个索引,可以建立在$o(n)$时间的文本长度$n$,也可以在$o(q)$时间查询的模式长度$q$。在大小为$σ$的字母表上,我们的索引使用$O(n\sqrt{\log n\logσ})$位,在$O(n((\log\log n)^2+\sqrt{\logσ})/\sqrt{\log_σn})$确定性时间内构建,并计算模式在时间$O(q/\log_σn+\log n)$中出现的次数$\mathrm{occ}$。然后可以在$O(\sqrt{\log n\logσ})$时间中找到每个这样的出现。对于任何恒定的$0<\varepsilon<1/2$,通过将空间和构造时间分别稍微增加到$O(n(\sqrt{\log n\logσ}+ \logσ\log^\varepsilon n))$和$O(n\log^{3/2}σ/\log^{1/2-\varepsilon} n)$,我们可以找到$\mathrm{occ}$模式在时间$O(q/\log_σn + \sqrt{\log_σn}\log\log n + \mathrm{occ})$中的出现。我们建立在一个新的文本采样的基础上的差异覆盖,它享有的属性,使我们能够有效地计算最长的共同前缀在恒定的时间。我们扩展我们的研究结果的二级内存模型,以及,在那里我们给的第一个建设$o(\mathit{Sort}(n))$ I/O的数据结构与后缀数…
2019-07-15 cs.DS
Clustered Integer 3SUM via Additive Combinatorics
我们提出了一个新的结果收集有关问题的3SUM,包括:1。$\ \ \ \ \ $ 1a的第一个真正的次二次算法。计算具有由$O(n)$,$\ \ \ \ \ $ 1b限定的整数值的单调递增序列的(min,+)卷积。求解2D中具有由$O(n)$和$\ \ \ \ \ $ 1c限定的整数坐标的单调集合的3SUM。预处理二进制字符串用于直方图索引(也称为混杂索引)。运行时间为:随机化的$O(n^{(9+\sqrt{177})/12}\,\textrm{polylog}\,n)=O(n^{1.859})$,或确定性的$O(n^{1.864})$。这大大改善了以前的$n^2/2^{Ω(\sqrt{\log n})}$的时间范围从威廉姆斯最近的结果对所有对最短路径[STOC'14],并回答了一个开放的问题提出了几个研究人员研究直方图索引问题。2.第一个算法的直方图索引的任何恒定的字母大小,实现真正的次二次预处理时间和真正的次线性查询时间。3.对于任意常数$δ>0$,当给定集合可以被划分为$n^{1-δ}$簇,每个簇被一个长度为$n$的区间覆盖时,整数3 SUM的一个真正的次二次算法。4.一种预处理任何$n$整数集的算法,以便随后在$O(n^{13/7}\,\textrm{polylog}\,n)$时间内求解任何给定子集上的3和。所有这些结果都是通过一种令人惊讶的新技术获得的,该技术基于加法组合…
2015-02-18 cs.DS
Sliding Window String Indexing in Streams
给定字母表$Σ$上的字符串$S$,“字符串索引问题”是预处理$S$以随后支持有效的模式匹配查询,即,给定模式字符串$P$,报告$S$中$P$的所有出现。本文研究了“流式滑动窗口字符串索引问题”。这里,字符串$S$作为流到达,每次一个字符,目标是为指定的参数$w$维护最后$w$字符的索引,称为“窗口”。在任何时间点,针对模式$P$的模式匹配查询都可能到达,也是一次一个字符地流式传输,并且必须返回当前窗口内所有出现的$P$。流滑动窗口字符串索引问题自然地捕获了我们想要索引流的最新数据(即窗口)同时支持有效模式匹配的场景。我们的主要结果是一个简单的$O(w)$空间数据结构,使用$O(\log w)$时间与高概率处理每个字符从输入字符串$S$和模式字符串$P$。从$P$报告每个事件使用每个报告事件的附加恒定时间。与以前在类似情况下的工作相比,这个结果是第一个从输入流中获得每个字符有效的最坏情况时间。我们还考虑了问题的延迟变体,其中查询可以在从任一流到达的下一个$δ$字符内的任何点被回答。我们提出了一个$O(w + δ)$空间数据结构,这个问题,提高了上述的时间界限$O(\log(w/δ))$。特别地,对于$δ= εw$的延迟,我们获得每个字符具有恒定时间处理的$O(w)$空间数据结构。实现我们的结果的关键思想是一个新颖的和简单的层次结构的后缀树的独立利益,灵感来自经典的日志结构的合并树。
2023-01-23 cs.DS
Gapped String Indexing in Subquadratic Space and Sublinear Query Time
本文研究间隙字符串索引的时空权衡,提出移位集合交集并证明其等价于 3SUM Indexing,通过归约首次实现多项式亚二次空间与亚线性查询时间,并改进 3SUM 报告和 Jumbled Indexing。
2024-03-05 cs.DS
Succincter Text Indexing with Wildcards
我们研究的问题,索引文本的位置,动机的挑战,比对测序数据的大型基因组,包含数百万的单核苷酸多态性(SNP)-已知的位置不同的个人之间。作为通配符建模的SNP可以导致更知情和生物学相关的比对。我们提高了空间复杂度,以前的方法给出了一个简洁的索引,需要$(2 + o(1))n \log σ+ O(n) + O(d \log n) + O(k \log k)$位的长度为$n$的文本在一个字母表的大小$σ$包含$d$组的$k$通配符。一个关键的空间减少是一个结果,我们给任何压缩后缀数组可以补充辅助数据结构占用$O(n) + O(d \log \frac{n}{d})$位也支持高效的字典匹配查询。使用合理的工作空间,我们的索引的查询算法比以前的方法更快。更重要的是,我们的新算法大大减少了查询工作空间$O(d m + m \log n)$位。我们注意到,与以前的结果相比,当将短读段数据与人类基因组比对时,这将工作空间减少了两个数量级。
2011-01-27 cs.DS q-bio.QM
Fully-Online Suffix Tree and Directed Acyclic Word Graph Construction for Multiple Texts
我们认为建设的后缀树和有向无环字图(DAWG)索引数据结构的集合$\mathcal{T}$的文本,其中一个新的符号可以被附加到任何文本在$\mathcal{T} = \{T_1, \ldots, T_K\}$,在任何时候。在动态索引多传感器数据中出现的这种完全在线的场景是长期解决的半在线文本索引问题的自然概括,其中文本$T_1, \ldots, T_{k}$在为每个$1 \leq k < K$处理下一个文本$T_{k+1}$之前被永久固定。我们提出了在$O(N \log σ)$时间和$O(N)$空间中为$\mathcal{T}$构建后缀树和DAWG的全在线算法,其中$N$是$\mathcal{T}$中字符串的总长度,而$σ$是它们的字母大小。后缀树叶子边和一些DAWG边的标准显式表示在我们的完全在线场景中必须放松,因为在最坏的情况下需要对这些边进行太多的更新。相反,我们提供了对更新后的后缀树叶子边缘标签和DAWG边缘的访问,这些边缘将通过辅助数据结构以每个添加的字符的$O(\log σ)$时间重定向。
2018-07-12 cs.DS
A New Class of String Transformations for Compressed Text Indexing
本文提出一类基于局部排序的新型字符串变换,证明其属于包含BWT、ABWT的上下文自适应字母表排序变换族,可用于构建r-index,还给出了线性时间寻找最小游程数BWT变体的算法。
2023-05-08 cs.DS
NP-Completeness for the Space-Optimality of Double-Array Tries
本文研究双数组字典树的空间最优判定问题,通过关联稀疏矩阵压缩问题及从受限有向哈密顿路径问题归约,分别证明了字母表线性、对数级于节点数时该问题的NP完全性,填补了理论空白。
2024-03-07 cs.DS
Parameterized Pattern Matching -- Succinctly
我们考虑$Parameterized$ $Pattern$ $Matching$问题,其中模式$P$匹配文本$\mathsf{T}$中的某个位置,当且仅当模式的字母符号与文本的字母符号之间存在一一对应关系。更具体地,假设文本$\mathsf{T}$包含来自静态字母表$Σ_s$和参数化字母表$Σ_p$的$n$字符,其中$Σ_s \cap Σ_p = \varnothing$和$|Σ_s \cup Σ_p|=σ$。模式$P$匹配$\mathsf{T}$的子串$S$,当静态字符完全匹配时,并且存在一个一对一函数,将$S$中的参数化字符重命名为$P$中的参数化字符。以前的索引解决方案[Baker,STOC 1993],称为$Parameterized$ $Suffix$ $Tree$,需要$Θ(n\log n)$位空间,并且可以在$\mathcal{O}(|P|\log σ+ occ)$时间内找到$P$的所有$occ$出现。在本文中,我们提出了第一个简洁的索引,占用$n \log σ+ \mathcal{O}(n)$位和回答查询在$\mathcal{O}((|P|+ occ\cdot \log n) \logσ\log \log σ)$时间。我们还提出了一个紧凑的索引,占用$\mathcal{O}(n\logσ)$位和回答查询在$\mathcal{O}(|P|\log σ+ occ\cdo…
2016-04-05 cs.DS
Partial Data Compression and Text Indexing via Optimal Suffix Multi-Selection
考虑从无界字母表中提取的输入文本串T[1,N]。本文研究了基于后缀的数据压缩和文本索引问题中的部分计算,如(I)从T的Burrows-Wheeler变换中检索K<=N个连续符号的任何片段,以及(II)检索后缀数组或后缀树中K<=N个连续条目的任何块。以前的文献需要O(N log N)的比较(和时间)来解决这些问题,通过解决构建整个Burrows-Wheeler变换或T的文本索引的总问题,并执行后处理来挑选出想要的部分。我们引入了一种新的自适应方法来解决上述部分计算问题,并解决了O(K log K + N)比较和时间的部分问题,提高了K=O(N)的最佳运行时间O(N log N)。这些部分计算问题是密切相关的,因为它们共享一个共同的瓶颈:后缀多选择问题,即输出秩为r_1,r_2,.的后缀,r_1<r_2<... <r_K,r_i在[1,N]中。这个问题的特殊情况是众所周知的:K=N是后缀排序问题,它是弦乐学中的主力,有数百个应用程序,K=1是最近研究的后缀选择。我们证明了后缀多重选择可以在Theta(N log N - sum_{j=0} ^K Delta_j log Delta_j+N)时间和比较中解决,其中r_0=0,r_{K+1} =N+1,并且对于0<=j<=K,Delta_j= r_{j+1} -r_j。这是渐近最优的,并且也与[Dobkin,Munro,JACM 28(3…
2011-10-15 cs.DS
Optimal Substring-Equality Queries with Applications to Sparse Text Indexing
我们考虑的问题编码的字符串长度$n$从一个整数字母表的大小$σ$,以便访问和子串的平等查询(即,确定任何两个子串的平等)可以有效地回答。任何支持访问的可解码编码都必须采用$n\logσ+ Θ(\log (n\logσ))$位。我们描述了一个新的数据结构匹配这个下限时,$σ\leq n^{O(1)}$,同时支持查询的最佳$O(1)$的时间。此外,我们表明,该字符串可以被覆盖在这个结构的地方。$Θ(\log n)$位的冗余和恒定的查询时间以指数方式打破了已知在只读模型中保持的下限。使用我们的新字符串表示,我们获得了第一个到位次二次(事实上,在某些情况下,甚至次线性)算法的几个字符串处理问题的恢复模型:输入字符串是重复的,必须在计算终止前恢复。特别是,我们描述了第一次到位次二次蒙特卡罗解决方案的稀疏后缀排序,稀疏LCP阵列建设,后缀选择问题。唯一例外的后缀选择,我们的算法也是第一次运行在次线性时间足够小的输入后缀集。结合这些解决方案,我们得到了第一个次线性时间的Monte Carlo算法在紧空间中建立稀疏后缀树。我们还展示了如何使用小空间去随机化我们的算法。这导致了第一个Las Vegas就地算法在$O(n\log n)$时间内计算完整的LCP阵列,并导致了第一个Las Vegas就地算法在$O(n^{1.5}\sqrt{\log σ})$时间内解决稀疏后缀排序和稀疏LCP阵列构造问题。…
2020-05-11 cs.DS
Position Heaps for Parameterized Strings
我们提出了一种新的索引结构参数化字符串,称为参数化位置堆。参数化位置堆适用于参数化模式匹配问题,其中如果存在从模式的符号到子串的符号的双射映射,则模式匹配文本的子串。我们提出了一个在线构造算法的参数化位置堆的文本,并表明我们的算法运行在线性时间相对于文本大小。我们还表明,通过使用参数化的位置堆,我们可以找到所有出现的模式在文本中的线性时间的产品的模式大小和字母表的大小。
2017-04-18 cs.DS
Algorithms and Complexity on Indexing Founder Graphs
研究了标号图中字符串的匹配问题。以前的研究表明,除非正交向量假设(OVH)是假的,否则无法在强次二次时间内解决这个问题,也无法在多项式时间内索引图以有效地回答查询(Equi et al. ICALP 2019,SOFSEM 2021)。这些条件下界甚至覆盖具有二进制字母表的确定性图,但是自然也存在易于索引的图类:例如Wheeler图(Gagie et al. Theor.比较科学2017)覆盖图承认基于Burrows-Wheeler变换的索引方案。然而,识别一个图是否是Wheeler图是NP完全的(Gibney,Escherachan,ESA 2019)。我们提出了一种方法来缓解惠勒图的建设瓶颈。而不是从一个任意的图开始,我们研究从多序列比对(MSA)引起的图形。弹性退化弦(Bernadini et al. SPIRE 2017,ICALP 2019)可以被看作是这样的图,我们在这里介绍它们的推广:弹性创始人图。我们首先证明,即使是这样的诱导图是很难索引下OVH。然后,我们介绍了两个子类,重复自由和半重复自由图,这是很容易索引。我们给出了一个线性时间算法来构造一个无重复的非弹性创始人图从一个无间隙的MSA,和(参数化)近线性时间算法来构造半无重复(无重复,分别)弹性创始人图从一般MSA。最后,我们证明了无重复弹性创始人图承认减少惠勒图在多项式时间。
2022-06-10 cs.CC cs.DS
Text Indexing for Long Patterns using Locally Consistent Anchors
本文提出基于局部一致锚点的文本索引,在已知模式长度下界时,同时优化索引空间、查询时间、构建空间与构建时间,实验优于经典索引。
2024-07-16 cs.DB cs.DS
Space-Efficient Text Indexing with Mismatches using Function Inversion
University of Massachusetts, Amherst(马萨诸塞大学阿默斯特分校);Northwestern University(西北大学);Williams College(威廉姆斯学院)
本文提出一种空间复杂度为O(n)的文本索引结构,实现查询时间显著优于现有方法,同时首次实现子线性空间的数据结构。
2026-04-01 cs.DS
Faster Average Case Low Memory Semi-External Construction of the Burrows-Wheeler Transform
Burrows Wheeler变换在数据压缩以及全文索引中有应用。尽管其重要的应用和各种现有的算法方法的构造的变换的大数据集仍然是具有挑战性的。本文提出了一种新的构造Burrows Wheeler变换的半外存储算法。如果有足够的内部存储器可用于保存输入文本的固定部分,则它能够在平均时间$O(n\log^2\log n)$的有限字母表上构造长度为$n$的输入文本的变换。在最坏的情况下,运行时是$O(n\log n \log\log n)$。算法在外部存储器中使用的空间量为$O(n)$位。在串行算法的基础上,我们还提出了一种在$p$处理器可用的情况下平均按时间运行的共享内存并行算法$O(\frac{n}{p}\max\{\log^2\log n+\log p\})$。
2016-04-22 cs.DS
Synchronization Strings: Codes for Insertions and Deletions Approaching the Singleton Bound
我们引入同步字符串作为一种有效处理同步错误的新方法,即,插入和删除。同步误差严格来说比通常认为的半误差更一般,也更难处理,即,符号损坏和擦除。对于每个$ε>0$,同步字符串允许用$ε^{-O(1)}$大小字母表来索引序列,使得可以有效地将$k$同步错误转换为$(1+ε)k$半错误。这种强大的新技术有许多应用。在本文中,我们专注于设计insdel码,即,用于插入删除信道的纠错分组码(ECC)。虽然ECC的半错误和同步错误已经深入研究,后者在很大程度上抵制进展。事实上,直到1999年,Schulman和Zuckerman才构造出第一个具有恒定速率、恒定距离和恒定字母长度的insdel码。Guruswami等人在2016年给出了渐近大或小噪声率的Insdel码,但这些码仍然多项式远离最佳速率距离权衡。这使得对insdel码的理解等同于50年前Forney在他的博士论文中引入级联码后对常规ECC的理解。直接应用我们的同步字符串为基础的索引方法给出了一个简单的黑盒构造,它将任何ECC转换成一个同样有效的insdel码与稍大的字母大小。这立即将对大型常量字母表上的常规ECC的许多高度发达的理解转移到insdel码的领域。最值得注意的是,我们得到有效的insdel码得到任意接近的最佳速率距离权衡的Singleton界的完整的噪声谱。
2017-04-03 cs.DS cs.IT math.IT
Elastic Founder Graphs Improved and Enhanced
为模式匹配索引标记图是泛基因组学的核心挑战。Equi等人(Micromica,2022)开发了弹性创始人图($\mathsf{EFG}$),表示长度为$n$的$m$序列的比对,从字母表$Σ$加上特殊空位字符绘制:路径拼写原始序列或其重组。通过强制执行半无重复属性,$\mathsf{EFG}$允许用于线性时间模式匹配的多项式空间索引,突破了索引标记图的条件下界(Equi等人,SOFSEM 2021)。在这项工作中,我们提高了空间的$\mathsf{EFG}$索引回答模式匹配查询在线性时间,从线性的三个连续节点标签拼写的所有字符串的长度,线性的边缘标签的大小。然后,我们开发了线性时间构造算法优化不同的指标:我们改进现有的线性构造算法$O(mn)$,通过解决新的排他性祖先集问题的树,我们提出了,简化的无间隙设置,$O(mn)$时间的解决方案,最大限度地减少块高度,我们概括了替换块高度与前缀感知的高度。最后,为了展示框架的多功能性,我们开发了一个基于BWT的$\mathsf{EFG}$索引,并研究了如何编码和执行文档列表查询的一组路径的图形,报告哪些路径呈现给定的模式作为子串。我们提出的$\mathsf{EFG}$框架作为一个改进和增强版本的框架的无间隙设置,以及建设方法,是有效的,在任何设置有关的对齐序列的分割。
2023-03-09 cs.DS
Faster Algorithms for Longest Common Substring
针对最长公共子串问题,提出字RAM模型下O(n log σ/√log n)时间的亚线性算法(σ=O(1)时);拓展到k-错配LCS问题,给出O(n log^{k-1/2}n)时间算法,突破n log^k n壁垒。
2025-11-17 cs.DS
Position Heaps for Cartesian-tree Matching on Strings and Tries
Cartesian树模式匹配是最近引入的模式匹配方案,其检测具有与查询模式相似的结构的连续数据流中的片段。形式上,笛卡尔树模式匹配寻找文本串$S$的所有子串$S'$,使得$S'$的笛卡尔树与查询模式$P$的笛卡尔树一致。在本文中,我们提出了一个新的索引结构,这个问题称为笛卡尔树位置堆(CPH)。令$n$为输入文本字符串$S$的长度,$m$为查询模式$P$的长度,$σ$为字母表大小。我们发现,CPH的$S$,表示$\mathsf{CPH}(S)$,支持模式匹配查询在$O(m (σ+ \log (\min\{h, m\})) + occ)$时间与$O(n)$空间,其中$h$是高度的CPH和$occ$是模式出现的次数。我们展示了如何在$O(n)$工作空间的$O(n \log σ)$时间内构建$\mathsf{CPH}(S)$。此外,我们将问题扩展到文本是标记树(即Trie)的情况。给定一个trie $T$与$N$节点,我们表明,CPH的$T$,表示$\mathsf{CPH}(T)$,支持模式匹配查询的trie在$O(m (σ^2 + \log (\min\{h, m\})) + occ)$时间与$O(N σ)$空间。我们还展示了一个运行在$O(N σ)$时间和$O(N σ)$工作空间中的$\mathsf{CPH}(T)$的构造算法。
2021-08-14 cs.DS
Space-Efficient k-Mismatch Text Indexes
本研究针对k-错配文本索引的时空权衡问题,提出了空间更优的索引方案,在一般场景和常数字母表场景下均实现了空间复杂度的改进,同时保持原查询时间,并优化了短模式索引的性能。
2025-10-30 cs.DS
Fast and Small Subsampled R-indexes
提出 sr-index 及其变体 r-csa、sr-csa,通过子采样文本位置在时间和空间间取得平衡,在保持查询性能的同时显著减少索引空间占用。
2024-09-23 cs.DS
Breaking a Barrier in Constructing Compact Indexes for Parameterized Pattern Matching
本文针对参数化模式匹配紧凑索引构造问题,将 pBWT 在线构造时间复杂度从依赖参数字母表大小的乘积因子改进为对数因子,并首次实现紧凑空间下支持向后搜索的在线构造。
2023-08-11 cs.DS
Fully-Functional Suffix Trees and Optimal Text Searching in BWT-runs Bounded Space
自千年之交以来,索引高度重复的文本-如基因组数据库,软件库和版本化文本集合-已成为一个重要的问题。重复文本的相关可压缩性度量是r,其Burrows-Wheeler变换(BWT)中的运行次数。Run-Length FM索引是最早的重复集合索引之一,使用O(r)空间,能够有效地计算文本中长度为m的模式的出现次数(使用当前技术,以每个模式符号的对数时间为单位)。然而,它无法在以r为界的空间内有效地定位这些事件的位置。在本文中,我们关闭这个长期存在的问题,展示了如何扩展游程长度FM索引,使其能够在O(r)空间内有效地定位occ出现时间复杂度为O(m + occ),时间复杂度为O(m)。(r log log w(σ + n/r))空间,用于在RAM机器上具有w = Ω(log n)位的字的σ大小的字母表上的长度为n的文本。在这个空间内,我们的索引也可以在最佳时间内计数,O(m)。将空间乘以O(w/ log σ),我们支持O(dm log(σ)/we)和O(dm log(σ)/we + occ)时间的计数和定位,这在压缩设置中是最优的,以前在压缩空间中没有得到。我们还描述了一个使用O(rlog(n/r))空间的结构,该结构在几乎最优的时间O(log(n/r)+ ` log(σ)/w)内替换文本并提取长度为`的任何文本子串。在这个空间内,我们同样提供了直接存取后缀数组,反后缀数组,和最长的公共前…
2019-07-04 cs.DS
Space-Efficient Indexes for Uncertain Strings
针对不确定字符串索引空间开销过大的问题,提出一种预期大小为 $\mathcal{O}(\frac{nz}{\ell}\log z)$ 的空间高效索引,在保证较快查询速度的同时,将索引大小和构建空间缩减多达两个数量级。
2024-03-21 cs.DB cs.DS