Queries on LZ-Bounded Encodings
我们描述了一个数据结构,存储一个字符串$S$在空间中类似的Lempel-Ziv编码,并有效地支持访问,排名和选择查询。这些查询是实现简洁和压缩的数据结构(如压缩树和图)的基础。我们表明,我们的数据结构可以内置的一个可扩展的方式,在实践中是既小又快相比,其他数据结构支持这样的查询。
2014-12-02 cs.DS
Tight Lower Bounds for Central String Queries in Compressed Space
该研究推导了压缩空间下几乎所有基础字符串查询的紧下界,确立了查询最优时间复杂度的二分性,完善了压缩索引的理论基础,为后续数据结构研究指明方向。
2025-10-22 cs.DS
Subpath Queries on Compressed Graphs: a Survey
文本索引是一个经典的算法问题,已经被研究了四十多年:给定一个文本$T$,离线预处理它,这样,以后,我们可以快速计数和定位任何字符串(查询模式)在$T$中的出现时间与查询的长度成正比。这个问题最早的最优时间解决方案,后缀树,可以追溯到1973年,它需要比纯文本多两个数量级的空间来存储。在2000年,两个突破性的工作表明,高效的查询可以实现没有这种空间开销:一个快速的索引被存储在一个空间成比例的文本的熵。这些贡献对生物信息学产生了巨大的影响:如今,几乎所有的DNA比对都采用了压缩索引。最近的趋势考虑了更强大的压缩方案(字典压缩器)和将问题推广到标记图:毕竟,文本可以被视为标记的有向路径。反过来,由于有限状态自动机可以被认为是标记图的一种特殊情况,这些发现在压缩索引和正则语言理论之间建立了一座桥梁,最终允许索引正则语言,并有望为正则表达式匹配等问题提供新的解决方案。这个调查是一个温和的介绍的迷人的旅程,把我们从后缀树到今天的压缩索引标记图和正则语言的主要里程碑。
2020-12-13 cs.DS
Dynamic index, LZ factorization, and LCE queries in compressed space
在本文中,我们提出了以下结果:(1)提出了一种新的$O(w)$空间的\emph{dynamic compressed index},它支持在$O(|P| f(M,w) + \log w \log |P| \log^* M (\log N + \log |P| \log^* M) + \mathit{occ} \log N)$时间内搜索当前文本中的模式$P$,在$O((y+ \log N\log^* M)\log w \log N \log^* M)$时间内插入/删除长度为$y$的子串,其中$N$是当前文本的长度,$M$是动态文本的最大长度,$z$是当前文本、$f(a,b) = O(\min \{ \frac{\log\log a \log\log b}{\log\log\log a}, \sqrt{\frac{\log b}{\log\log b}} \})$和$w = O(z \log N \log^*M)$的Lempel-Ziv 77(LZ 77)因子分解的大小。(2)针对给定长度的文本$N$,提出了一种新的空间有效的LZ 77分解算法,该算法在$O(w')$工作空间和$O(N f(N,w') + z \log w' \log^3 N (\log^* N)^2)$时间内运行,其中$w' =O(z \log N \log^* N)$ . (3)我们提出了一种$O(w)$空间的数据…
2016-04-06 cs.DS
Fully dynamic data structure for LCE queries in compressed space
对长度为$N$的文本$T$的最长公共扩展(LCE)查询要求从给定的两个位置开始的后缀的最长公共前缀的长度。我们表明,大小为$w = O(\min(z \log N \log^* M, N))$的签名编码$\mathcal{G}$ [Mehlhorn等人,198,1997],其可以被看作是$T$的压缩表示,具有在$O(\log N + \log \ell \log^* M)$时间内支持LCE查询的能力,其中$\ell$是查询的答案,$z$是$T$的Lempel-Ziv 77(LZ 77)因子分解的大小,并且$M \geq 4N$是可以在字RAM模型下在恒定时间内处理的整数。在压缩空间中,这在许多情况下是最快的确定性LCE数据结构。此外,可以增强$\mathcal{G}$以支持高效的更新操作:在$O(w f_{\mathcal{A}})$时间中处理$\mathcal{G}$之后,我们可以在$O((y+ \log N\log^* M) f_{\mathcal{A}})$时间中将长度为$y$的任何(子)字符串插入$T$的任意位置/从$T$的任意位置删除任何(子)字符串,其中$f_{\mathcal{A}} = O(\min \{ \frac{\log\log M \log\log w}{\log\log\log M}, \sqrt{\frac{\log w}{\log\log w}} \}…
2016-06-26 cs.DS
Dynamic 3-sided Planar Range Queries with Expected Doubly Logarithmic Time
本文研究了$[a, b]\times (-\infty, c]$形式的3边范围查询在主存储器和外存储器中的二维搜索问题,考虑了各种输入分布。我们提出了三套解决方案,每一个检查的3边问题,在RAM和I/O模型分别。所呈现的数据结构是确定性的,并且期望与输入分布相关。
2012-01-12 cs.DS
Dynamic Data Structures for Document Collections and Graphs
在动态索引问题中,我们必须维护一个不断变化的文本文档集合,以便我们能够有效地支持插入、删除和模式匹配查询。我们特别感兴趣的是开发高效的数据结构,以压缩的形式存储和查询文档。所有以前的压缩解决方案,这个问题依赖于回答排名和选择查询的动态序列的符号。由于[Fredman和Saks,1989]中的下界,回答排名查询在压缩动态索引中呈现出瓶颈。在本文中,我们将展示如何使用我们的新框架可以绕过这个下限。我们证明了索引问题的静态和动态变量之间的差距几乎可以关闭。我们的方法是基于一个新的框架,增加动态静态压缩数据结构。我们的框架也更普遍地适用于其他问题的动态化。例如,我们展示了我们的框架如何应用于开发动态图和二元关系的压缩表示。
2015-03-20 cs.DS
Collapsing the Hierarchy of Compressed Data Structures: Suffix Arrays in Optimal Compressed Space
提出仅需最优压缩文本表示空间即可支持后缀数组查询的新索引,将压缩数据结构层级坍缩为单点,并大幅改进了构建时间及数十种算法的空间复杂度。
2023-08-07 cs.DS
Engineering Fast and Space-Efficient Recompression from SLP-Compressed Text
本文首次实现压缩时间内运行的再压缩RLSLP构建,基于LZ77近似,相比非压缩方法实现46倍加速和17倍内存降低,为快速索引构建提供实用路径。
2025-10-23 cs.DS
The Compressed Overlap Index
为了分析文本算法,为了计算超字符串,或者为了测试随机数生成器,需要计算给定集合中任何单词对之间的所有重叠。在计算随机文本中某个词的缺失概率或两个随机文本共有的公共词的个数时,需要知道一个词在其自身上的重叠位置或两个词的重叠位置。在所有这些上下文中,需要计算或查询给定集合中的词对之间的重叠。为此,我们设计了COvI,一个压缩的重叠索引,支持对重叠的多个查询:比如计算两个单词的相关性,或者列出所有可能的单词对中最长重叠最大的单词对。COvI以分层和非冗余的方式存储重叠。我们提出了一个实现,可以处理数百万字的数据集,仍然有效地回答查询。与依赖于Aho-Corasick自动机的基线解决方案(称为FullAC)的比较表明,COvI提供了显着的优势。对于类似的构建时间,COvI需要FullAC一半的内存,并且仍然可以更快地解决复杂的查询。
2017-07-18 cs.DS
GraCT: A Grammar-based Compressed Index for Trajectory Data
我们引入了一种压缩的数据结构,用于存储移动对象(如船舶和飞机)的自由轨迹,有效地支持各种时空查询。我们的结构,被称为GraCT,存储的绝对位置的所有对象在定期的时间间隔(快照)使用$k^2$树,这是一个空间和时间效率的版本的区域四叉树。快照之间的位置表示为相对运动的日志,并使用基于语法的压缩器Re-Pair进行压缩。此语法的非终结符使用MBR信息进行了增强,以支持快速查询。数据集的GraCT结构比使用强大的传统压缩器(如p7 zip)压缩的原始数据占用更少。此外,GraCT支持直接存取对象轨迹或它们在特定时刻的位置,以及空间范围和关于时刻和/或时间间隔的最近邻查询,而不是像传统压缩器那样需要完全解压缩来访问数据。与传统的时空数据存储和索引方法相比,GraCT需要的空间少两个数量级,并且在查询时间上具有竞争力。特别地,由于其压缩表示,GraCT结构可以在任何经典的未压缩索引必须诉诸于磁盘的情况下驻留在主存中,从而快一个或两个数量级。
2019-11-11 cs.DS
Compressed Indexing for Consecutive Occurrences
针对间隙连续出现查询难以构建高效索引的问题,本文基于直线程序(SLP)文本设计了一个空间为文法大小多项式级别、查询时间至多对数因子最优的索引结构。
2023-04-03 cs.DS
Semantrix: A Compressed Semantic Matrix
我们提出了一个紧凑的数据结构来表示从移动对象的轨迹的同质段的持续时间和长度的方式,作为一个数据仓库,它允许我们有效地回答累积查询。在轨迹分割的主题下,在文献中已经研究了将轨迹划分为相关段。在本文中,我们设计了一个数据结构来完整地表示它们和算法来回答更相关的查询。我们的实验评估我们的建议,在一个企业的移动工人(卡车司机),我们的目标是分析他们在不同的活动中花费的时间的真实背景下。为了在更高的压力条件下测试我们的建议,我们生成了大量的合成现实轨迹,并使用这些数据评估了我们的系统,以便在回答不同类型的查询时对其空间需求和效率有一个很好的了解。
2020-02-28 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
Evaluating Regular Path Queries on Compressed Adjacency Matrices
本文提出基于稀疏矩阵和$k^2$-trees的布尔代数方法处理图数据库中的正则路径查询,在保持查询效率的同时显著压缩存储空间,并在空间/时间权衡上表现优异。
2024-04-23 cs.DB cs.DS
Longest Common Extensions with Recompression
给定长度为$N$的字符串$T$中的两个位置$i$和$j$,最长公共扩展(LCE)查询询问以$i$和$j$开始的后缀之间的最长公共前缀的长度。压缩LCE数据结构是以压缩形式存储$T$同时支持快速LCE查询的数据结构。在这篇文章中,我们表明,再压缩技术是一个强大的工具,压缩LCE数据结构。我们提出了一个新的压缩LCE数据结构的大小$O(z \lg (N/z))$,支持LCE查询在$O(\lg N)$的时间,其中$z$是Lempel-Ziv 77因式分解的大小没有自引用的$T$。给定$T$作为未压缩的形式,我们将展示如何在$O(N)$时间和空间中构建我们的数据结构。给定$T$作为语法压缩形式,即,一个生成$T$的大小为n的直线程序,我们展示了如何在$O(n \lg (N/n))$时间和$O(n + z \lg (N/z))$空间中建立我们的数据结构。我们的算法是确定性的,总是返回正确的答案。
2016-11-21 cs.DS
String Indexing with Compressed Patterns
针对客户端-服务器场景中以压缩形式提交的模式查询,提出一种线性空间数据结构,能直接高效处理Lempel-Ziv压缩模式,实现接近最优的查询时间,并开发了编码LZ77压缩后缀和分解trie等通用数据结构技术。
2024-02-14 cs.DS
Compressed bitmap indexes: beyond unions and intersections
压缩位图索引用于加快数据库中的简单聚合查询。事实上,像交集、并集和补码这样的集合运算可以表示为逻辑运算(AND、OR、NOT),非常适合位图。但是,如何将位图应用于更高级的查询就不那么明显了。例如,我们可能会在商店中寻找符合某些(但可能不是全部)标准的产品。这种阈值查询概括了交集和并集;它们经常用于信息检索和数据挖掘应用程序。我们引入新的算法,有时三个数量级的速度比一个天真的方法。我们的工作表明,位图索引比通常认为的适用范围更广。
2014-08-15 cs.DB cs.DS
Dynamic Suffix Array in Optimal Compressed Space
本文提出首个支持后缀数组查询与更新的动态压缩数据结构,在对数多项式时间内运行,并达到δ-最优空间,填补了静态结构的空白。
2024-11-08 cs.DS
Fingerprints in Compressed Strings
字符串的Karp-Rabin指纹是一种哈希值,由于其强大的属性,已被用于许多字符串算法。在本文中,我们将展示如何构建一个数据结构的字符串$S$的大小$N$压缩的上下文无关的语法大小$n$,回答指纹查询。也就是说,给定索引$i$和$j$,查询的答案是子字符串$S[i,j]$的指纹。我们提出了第一个O(n)空间的数据结构,回答指纹查询,而不解压缩任何字符。对于直线程序(SLP),我们得到$O(\log N)$查询时间,对于线性SLP(捕获LZ 78压缩及其变体的SLP衍生物),我们得到$O(\log \log N)$查询时间。因此,我们的数据结构具有相同的时间和空间的复杂性,在SLP中的随机访问。我们利用指纹数据结构,以解决最长的共同扩展问题在查询时间$O(\log N \log \lce)$和$O(\log \lce \log\log \lce + \log\log N)$的SLP和线性SLP,分别。这里,$\lce$表示LCE的长度。
2013-05-16 cs.DS
Dynamic Grammar-Compressed Self-Index in $δ$-Optimal Space
RIKEN Center for Advanced Intelligence Project(理化学研究所先进智能项目中心)
本文提出动态RR索引,首次在δ-最优空间内实现动态语法压缩自索引,支持高效插入删除和定位查询,优于现有动态索引。
2026-07-09 cs.DS
GraCT: A Grammar based Compressed representation of Trajectories
我们提出了一个压缩的数据结构存储自由的移动对象(船舶在海上,例如)的轨迹,允许时空查询。我们的方法,GraCT,使用一个$k^2$树存储的绝对位置的所有对象在定期的时间间隔(快照),而快照之间的位置表示为日志的相对运动压缩与重新配对。我们的实验评估表明,相对于公平的基线,在空间和时间上节省了大量时间。
2016-12-10 cs.DS
Optimal Random Access and Conditional Lower Bounds for 2D Compressed Strings
该研究针对二维数据压缩索引的次优问题,提出首个二维文法压缩字符串的最优随机访问数据结构,证明模式匹配条件下界及基本二维查询的硬度假设,建立二维与一维压缩索引复杂度的关联。
2025-10-22 cs.DS
LZ78 Substring Compression in Compressed Space
Joint Graduate School of Mathematics for Innovation, Kyushu University(九州大学数学创新联合研究生院);Department of Computer Science and Engineering, University of Yamanashi(山形大学计算机科学工程系)
本文提出了一种在压缩空间中实现子串压缩的算法,能够在查询时快速返回指定子串的LZ78因子分解。
2025-12-19 cs.DS
The Price of Order in the Logarithmic Method
Shenzhen MSU-BIT University(深圳北理莫斯科大学);CUHK-Shenzhen & SLAI(香港中文大学(深圳)与智能感知与人工智能研究中心)
该研究针对对数方法的读写乘积,在强物化合并栈模型下,得出不同查询类型的读写乘积界,明确了精确顺序等查询的访问模型障碍与选择查询的二次障碍。
2026-08-10 cs.DS
Rank and select: Another lesson learned
位图上的排名和选择查询是许多压缩数据结构的基本构建模块,包括文本索引、支持空间数据结构的成员和范围、压缩图等。在20世纪80年代,这些原始人在理论上得到了考虑,在过去的十年里,这些原始人也成为了关于他们实际化身的生动研究的主题。我们提出了一些新的排名/选择的变种,主要集中在速度,在压缩设置中获得有竞争力的时空结果。我们的研究结果可以总结如下:$(i)$没有单一的排名/选择解决方案在任何类型的数据上都是最好的(我们的是针对从真实文本数据集的小波树中获得的级联位数组进行了优化),$(ii)$有效地处理由全0或全1位组成的块是值得的,$(iii)$压缩选择不必在可比的内存使用上比压缩排名慢得多。
2016-05-12 cs.DS
RLZ-r and LZ-End-r: Enhancing Move-r
本文用 Relative Lempel-Ziv 和 LZ-End 压缩后缀数组增强 r-index 与 Move-r,以空间换取随机访问和定位查询加速,并揭示索引大小与查询性能的新权衡。
2025-07-28 cs.DS
Compressed Text Indexes:From Theory to Practice!
压缩全文自索引以压缩形式表示文本,并且仍然有效地回答查询。这项技术代表了对前十年的文本索引技术的突破,其索引需要几倍于文本的大小。尽管这项技术相对较新,但它已经成熟到理论研究正在让位于实践发展的程度。尽管如此,这需要重要的编程技能,深入的工程努力和强大的算法背景来挖掘研究结果。到目前为止,只有孤立的实现和压缩索引的集中比较被报道,他们错过了一个共同的API,这阻止了他们在其他应用程序中的重用或部署。本文的目的就是填补这一空白。首先,我们从从业者的角度介绍了压缩索引的现有实现。其次,我们介绍了Pizza&Chili站点,它为最成功的压缩全文自索引提供了优化的实现和标准化API,以及用于自动验证和测试的有效测试床和脚本。第三,我们展示了我们对这些代码进行的广泛实验的结果,目的是展示这种新颖而令人兴奋的技术的实际相关性。
2007-12-20 cs.DS
Optimal Planar Orthogonal Skyline Counting Queries
平面中的一组点的天际线是极大点的子集,其中如果没有其他点$(x',y')$满足$x'\ge x$和$y'\ge Y$,则点$(x,y)$是最大的。我们考虑的问题预处理一组$P$的$n$点到一个空间有效的静态数据结构,支持正交天际线计数查询,即给定一个查询矩形$R$报告的大小的天际线的$P$ $R$。我们提出了一种数据结构,用于存储n个点的整数坐标查询时间$O(\lg n/\lg\lg n)$和空间使用$O(n)$。计算模型是一个对数字长的单位成本RAM。我们证明,这些界限是最好的可能性,提出了一个下限的细胞探针模型与对数字的大小:空间使用$n\lg^{O(1)} n$意味着最坏的情况下查询时间$Ω(\lg n/\lg\lg n)$。
2014-04-24 cs.DS
Succinct Euler-Tour Trees
我们展示了如何收集的欧拉旅游树的森林$n$顶点可以存储在$2 n + o (n)$位,使简单的查询需要恒定的时间,更复杂的查询需要对数时间和更新需要多对数摊销时间。
2021-06-29 cs.DS
A Compressed-Gap Data-Aware Measure
在本文中,我们考虑的问题,有效地表示一个集$S$的$n$项目出的一个宇宙$U=\{0,...,u-1\}$,同时支持对它的一些操作。让$G=g_1...g_n$的间隙流与$S$,$gap$的比特大小时,与\emph{gap-encoding}编码,和$H_0(G)$的经验零阶熵。我们证明了(1)当$G$是高度可压缩的时,$nH_0(G)\in o(gap)$是可压缩的;(2)当$nH_0(G) \leq n\log(u/n) + n \leq uH_0(S)$是高度可压缩的时,$nH_0(G) \leq n\log(u/n) + n \leq uH_0(S)$是可压缩的。令$d$为$S$中元素之间的\emph{distinct}间隙长度的数目。我们首先提出了一种新的空间有效的零阶压缩表示的$S$采取$n(H_0(G)+1)+\mathcal O(d\log u)$位的空间。然后,我们描述了一个完全可索引的字典,支持\emph{rank}和\emph{select}查询在$\mathcal O(\log(u/n)+\log\log u)$的时间,同时需要渐近相同的空间,所提出的压缩表示的$S$。
2015-05-14 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
Practical Random Access to SLP-Compressed Texts
基于语法的压缩是一种流行且强大的压缩重复文本的方法,但直到最近,它在现实生活中构建时相对较差的时空权衡使得它对于真正的大规模数据集(如基因组数据库)不切实际。在最近的一篇论文(SPIRE 2019)中,我们展示了简单的预处理如何显着改善这些权衡,在本文中,我们将注意力转向使基于语法的压缩如此有吸引力的功能之一:支持快速随机访问的可能性。这是许多算法中的一个基本要素,这些算法处理语法压缩的文本而不解压缩它们,并且已经发表了许多关于它的理论界限,但实验已经落后了。我们给出了一种新的语法编码,它与现有技术的实际状态一样小(Maruyama等人,SPIRE 2013),但查询速度明显更快。
2020-07-19 cs.DS
Faster run-length compressed suffix arrays
该研究针对游程长度压缩后缀数组(RLCSA),通过修改其结构并应用新结果,将查找aP的SA区间的时间复杂度从O(log r_a + log log n)降至O(log r_a),同时不增加空间复杂度,还探讨了其对两级索引及最大精确匹配启发式方法的优化作用。
2025-04-19 cs.DS
Spanner Evaluation over SLP-Compressed Documents
我们考虑在压缩文档上评估规则空间的问题,即,我们希望直接在压缩数据上解决评估任务,而不进行解压缩。作为文档的压缩形式,我们使用直线程序(SLP)--一种文本数据的无损压缩方案,广泛用于理论计算机科学的不同领域,特别适合于压缩数据的算法。在数据复杂度方面,我们的结果如下。对于一个正则的BRM和一个表示文档D的SLP S,我们可以解决模型检验和在时间O(size(S))上检验非空性的任务。计算从D中提取的所有生成元组的集合M(D)可以在时间O(size(S)size(M(D)内完成,并且M(D)的枚举可以用线性预处理O(size(S))和延迟O(depth(S))完成,其中depth(S)是S的导出树的深度。注意,大小(S)可以指数地小于文档的大小|D| ;并且,由于SLP的已知平衡结果,我们总是可以假设深度(S)= O(log(|D|)),而与D的压缩性无关。因此,我们的枚举算法具有非压缩数据大小的延迟对数和最好的预处理时间(即,在高度可压缩文档的情况下)也是对数的,但在最坏的情况下仍然是线性的。因此,从大数据的角度来看,我们针对SLP压缩文档的枚举算法可能仍然优于针对非压缩文档的已知线性预处理和恒定延迟算法。
2021-01-25 cs.DS cs.FL
Improved Grammar-Based Compressed Indexes
我们介绍了第一个语法压缩表示的序列,支持搜索的时间,只依赖于语法的大小。给定由$n$(终结符和非终结符)符号的(上下文无关)语法和大小$N$(以规则的右手长度之和测量)表示的文本$T[1..u]$,$T$的基于语法的基本表示占用$N\lg n$位空间。对于任何$0<ε\le 1$,我们的表示都需要$2N\lg n + N\lg u + ε\, n\lg n + o(N\lg n)$位空间。它可以在$O((m^2/ε)\lg (\frac{\lg u}{\lg n}) +occ\lg n)$时间中找到长度为$m$的模式在$T$中的$occ$出现的位置,并在时间$O(\ell+h\lg(N/h))$中提取$T$的任何长度为$\ell$的子串,其中$h$是语法树的高度。
2011-10-20 cs.DS
Compressed Data Structures for Dynamic Sequences
我们考虑的问题存储一个动态字符串$S$在一个字母表$Σ=\{\,1,\ldots,σ\,\}$在压缩形式。我们的表示支持插入和删除的符号,并回答三个基本的查询:$\mathrm{access}(i,S)$返回$S$中的$i$ -th符号,$\mathrm{rank}_a(i,S)$计数有多少次一个符号$a$出现在$S$中的第一个$i$位置,和$\mathrm{select}_a(i,S)$发现的位置,一个符号$a$出现的$i$ -th时间。我们提出了第一个完全动态的数据结构,为任意大的字母表,实现最佳的查询时间为所有三个操作,并支持最坏情况下的时间保证更新。我们也是第一个完全动态的数据结构,只需要$nH_k+o(n\logσ)$位,其中$H_k$是$k$阶熵,$n$是字符串长度。此外,我们的表示支持提取的子串$S[i..i+\ell]$在最佳的$O(\log n/\log\log n + \ell/\log_σn)$时间。
2015-07-24 cs.DS
Using Compressed Suffix-Arrays for a Compact Representation of Temporal-Graphs
时态图表示随时间变化的二元关系。它们可以模拟例如社交和通信网络的动态。时间图被定义为接触的集合,这些接触是当它们处于活动状态时用时间间隔标记的边。本文探讨了压缩后缀数组(CSA),一个众所周知的紧凑和自索引的数据结构在文本索引领域,来表示大的时间图的使用。新的结构,称为时间图CSA(TGCSA),实验比较最有竞争力的紧凑数据结构在国家的最先进的,即EDGSTUGG和CET。实验结果表明,TGCSA获得了良好的时空折衷。它使用了合理的空间,并有效地解决复杂的时态查询。此外,TGCSA具有更广泛的表达能力,比EDGSTUG和CET,因为它是能够表示时间图,其中接触的边缘可以暂时重叠。
2018-12-28 cs.DS
Run Compressed Rank/Select for Large Alphabets
给定一个长度为$n$的字符串,该字符串由来自字母表$\{0,1,\ldots,σ{-}1\}$的字母组成,使得$2 \le σ\le r$,我们描述了一种数据结构,该数据结构提供$r \le n / \log^{ω(1)} n$,以$r\log\frac{nσ}{r} + o(r\log\frac{nσ}{r})$位存储字符串,并支持在$O(\log\frac{\log(n/r)}{\log\log n})$时间中的选择和访问查询以及在$O(\log\frac{\log(nσ/r)}{\log\log n})$时间中的排名查询。我们表明,$r\log\frac{n(σ-1)}{r} - O(\log\frac{n}{r})$位是必要的任何这样的数据结构,因此,我们的解决方案是简洁的。我们还描述了一个数据结构,它使用$(1 + ε)r\log\frac{nσ}{r} + O(r)$位,其中$ε> 0$是一个任意常数,具有相同的查询时间,但没有限制$r \le n / \log^{ω(1)} n$。通过简单的减少有色前任问题,我们表明,查询时间是最佳的重要情况下$r \ge 2^{\log^δn}$,为任意常数$δ> 0$。我们实施了我们的解决方案,并将其与最先进的解决方案进行了比较,结果显示,最接近的竞争对手消耗的空间要多31-46%。
2018-02-26 cs.DS
Faster Wavelet Tree Queries
针对非二进制字母表文本的rank和select查询,本文通过将小波树改为四叉树、结合预测模型预取数据减少缓存未命中,使查询速度较SDSL实现提升2至3倍。
2023-11-08 cs.DS
Most Recent Match Queries in On-Line Suffix Trees (with appendix)
后缀树能够有效地定位索引字符串中的模式,但通常不能定位在线流中的模式的最新副本,这在某些应用中是期望的。我们研究的最一般的版本的问题定位最近的匹配:支持查询任意模式,在处理在线流的每一步。我们提出了增强Ukkonen的后缀树构造算法的最佳时间查询,保持索引时间内的索引字符串的大小的对数因子。我们表明,该算法是适用于滑动窗口索引,并勾勒出一个可能的优化Lempel-Ziv压缩的特殊情况下使用。
2014-07-14 cs.DS
Efficient Fully-Compressed Sequence Representations
我们提出了一种数据结构,存储序列$s[1..n]$在字母表$[1..σ]$在$n\Ho(s) + o(n)(\Ho(s){+}1)$位,其中$\Ho(s)$是零阶熵的$s$。此结构支持查询\access、\rank \和\select,它们是许多其他压缩数据结构的基本构建块,在最坏情况下为时间$\Oh{\lg\lgσ}$和平均时间$\Oh{\lg \Ho(s)}$。最坏情况下的复杂度与以前的最佳结果相匹配,但这些结果是通过使用$n\Ho(s)+o(n\lgσ)$位的数据结构实现的。在高度可压缩的序列上,冗余的$o(n\lgσ)$位与编码数据的$n\Ho(s)$位相比可能是重要的。相反,我们的表示也压缩了冗余。此外,我们的平均情况复杂性是前所未有的。我们的技术是基于分区的字母相似的频率的字符。然后,对应于每个组的子序列可以使用快速未压缩表示进行编码,而不会损害整体压缩比,即使在冗余中。该结果还改进了其他几种数据结构的最佳当前压缩表示。例如,我们实现了$(i)$压缩冗余,保留最佳的时间复杂度,为最小的现有全文自索引; $(ii)$压缩排列$π$与时间为$π()$和$\pii()$改进为对数对数;和$(iii)$的第一个压缩表示的动态集合的不相交集。我们还指出了倒排索引,后缀数组,二进制关系和数据压缩器的各种应用。...
2012-04-02 cs.DS
Faster range minimum queries
范围最小查询(RMQ)是许多压缩数据结构和字符串匹配算法的重要组成部分。虽然这个问题在理论上基本上已经解决了,但由于复杂的数据结构允许恒定时间查询,实际性能和构建时间也很重要。此外,还有一些离线场景,其中查询的数量$q$相当小并且是预先给定的,这鼓励使用更简单的方法。在这项工作中,我们提出了一个简单的数据结构,具有非常快的建设,它允许在恒定的时间平均处理查询。然而,该算法需要在查询期间访问输入数据(这不是复杂的RMQ解决方案的情况)。随后,我们改进我们的技术,将其与现有的一个简洁的解决方案与$O(1)$最坏情况下的时间查询和没有访问输入数组。由此产生的混合仍然是一个节省内存的数据结构,通常花费高达约$3n$位,并提供有竞争力的查询时间,特别是对于宽范围。我们还展示了如何使我们的基线数据结构更紧凑。实验结果表明,所提出的BbST(基于块的稀疏表)的变种是有竞争力的现有的解决方案,也在离线的情况下。
2017-11-28 cs.DS
A Dynamic Stabbing-Max Data Structure with Sub-Logarithmic Query Time
在本文中,我们描述了一个动态的数据结构,回答一维刺最大查询的最佳$O(\log n/\log\log n)$时间。我们的数据结构使用线性空间,并支持插入和删除分别在$O(\log n)$和$O(\log n/\log \log n)$摊销时间。我们还描述了一个$O(n(\log n/\log\log n)^{d-1})$空间数据结构,回答$d$维刺最大查询在$O((\log n/\log\log n)^{d})$时间。$O((\log n/\log\log n)^d\log\log n)$和$O((\log n/\log\log n)^d)$摊销时间分别支持插入和删除。
2011-09-18 cs.CG cs.DS
Compressed Counting
Cornell University(康奈尔大学)
计数是计算中最基本的操作之一。例如,在理论计算机科学、数据库和数据采掘中,计算p阶频率矩一直是非常活跃的研究领域。当p=1时,任务(即,对和进行计数)可以使用简单的计数器来完成。压缩计数(CC)被提出用于有效地计算数据流信号A_t的第p个频率矩,其中0<p<=2。如果流数据遵循旋转栅门模型,则CC是适用的,其中限制是在用于评估的时间t处,A_t[i]>= 0,其包括严格旋转栅门模型作为特殊情况。对于在实践中遇到的自然数据流,这种限制是次要的。CC的基本技术是我们称之为倾斜稳定随机投影的技术,它捕捉了这样的直觉:当p=1时,简单的计数器就足够了,当p = 1+/Δ且Δ较小时,计数器系统的样本复杂度应该很低(连续地作为Δ的函数)。我们证明了在小Δ时样本复杂度(投影数)k = O(1/ε)而不是O(1/ε^2)。压缩计数可以为统计和计算中的其他任务提供基本构建块,例如,数据流的估计熵,使用矩和最大似然方法的参数估计。最后,另一个贡献是一个算法近似的对数范数,\sum_{i=1}^D \log A_t[i],和对数距离。对数距离在重尾数据的机器学习实践中很有用。
2008-02-24 cs.CC cs.DM cs.DS
Multidimensional segment trees can do range updates in poly-logarithmic time
区间的更新和查询是一个经典的算法问题,有着广泛的应用。段树数据结构在处理范围查询和更新操作方面特别值得注意。段树将范围划分为不相交的段,并将它们合并在一起,以优雅地执行范围查询和范围更新。虽然这种数据结构对于一维问题是非常有效的,但它在更高维度上是不够的。惰性传播使操作能够在$O(logn)$时间内在单个维度中计算。然而,惰性传播的概念不能被转换为更高维的情况,这对$k$维数据上的操作施加了$O(n^{k-1} \; logn)$的时间复杂度。在这项工作中,我们尝试以不同的方式模拟惰性传播的想法,以便它可以应用于二维情况。此外,所提出的修改应该能够执行类似于原始段树的最一般的聚合函数,并且还可以扩展到更高的维度。我们提出的算法管理执行范围和查询和更新的$O(\log^2 n)$时间为2维的问题,这成为$O(\log^d n)$的$d$维的情况。
2020-12-06 cs.DS
Incongruity-sensitive access to highly compressed strings
本文提出了一种基于不一致性的高效访问高度压缩字符串中不可压缩子字符串的方法,通过构建特定数据结构实现快速访问。
2026-02-04 cs.DS
Faster Maximal Exact Matches with Lazy LCP Evaluation
针对 MONI 索引中 LCE 查询耗时问题,提出惰性评估 LCP 的变体,使处理时间由 MEM 数量界定并保持对数延迟。
2023-11-08 cs.DS
Compressed Inverse Suffix Arrays
North Carolina State University(北卡罗来纳州立大学)
本文提出了一种新的压缩方法,通过直接从打包文本支持逆后缀数组查询,实现更快的查询时间,同时减少存储需求。
2026-09-03 cs.DS
Universal Compressed Text Indexing
重复数据集的兴起最近引起了人们对基于字典压缩的压缩自索引的兴趣,这是一个丰富而异构的家族,以不同的方式利用文本重复。对于每种这样的压缩方案,在过去二十年中已经提出了几种不同的索引解决方案。迄今为止,重复文本的最快索引是基于行程压缩的Burrows-Wheeler变换和紧凑有向非循环词图。另一方面,最节省空间的索引是基于Lempel-Ziv解析和语法压缩的。还没有提出更普遍的方案,如拼贴系统和宏观方案的索引。最近,Kempa和Prezza [STOC 2018]表明,所有字典压缩器都可以被解释为最小字符串吸引子的近似算法,即捕获所有不同子串的一组文本位置。从这个观察开始,在本文中,我们开发了第一个通用的压缩自索引,也就是说,第一个基于字符串吸引子的索引数据结构,因此可以建立在任何字典压缩文本表示的顶部。令$γ$为长度为$n$的文本的字符串吸引子的大小。我们的索引采用$O(γ\log(n/γ))$空间字,并支持在$O(m\log n + occ\log^εn)$时间内,对于任何常数$ε>0$,定位任何长度为$m$的模式的$occ$出现。特别是,这是一般宏观计划和大学系统的第一个指数。我们的研究结果表明,索引和压缩之间的关系比以前认为的要深得多:所有字典压缩器的核心的简单属性足以支持快速索引查询。
2018-09-06 cs.DS
An Efficient Data Structure and Algorithm for Long-Match Query in Run-Length Compressed BWT
本文提出局部极大精确匹配(LEMs)概念及长LEMs查询算法,依托改进的BWT游程压缩字符串索引,实现$O(m+occ)$期望时间的长匹配查询,可补充MEMs忽略的相似性信息,适用于泛基因组等场景。
2025-05-21 cs.DS
Path Query Data Structures in Practice
我们进行实验研究的数据结构,回答路径中位数,路径计数,并在加权树路径报告查询。这些查询问题推广了著名的范围中位数查询问题的数组,以及$2d$正交范围计数和报告问题的平面点集,树结构的数据。我们提出了最新的路径查询理论成果的实际实现。我们的数据结构,它使用树提取,重路径分解和小波树,实现在简洁和基于指针的形式。我们的简洁的数据结构被进一步专门化为普通或熵压缩。通过对大集合的实验,我们表明,简洁的数据结构的路径查询可能会提出一个可行的替代标准的基于指针的实现,在实际情况下。与通过显式遍历查询路径来计算答案的朴素方法相比,我们简洁的数据结构在路径中值查询中的速度要快几倍,并且在路径计数和路径报告查询中执行重复,同时空间效率要高几倍。我们的数据结构的基于普通指针的实现,需要比简单的多几倍的空间,产生$100$倍的速度。
2020-04-18 cs.DS
Dynamic Planar Point Location with Sub-Logarithmic Local Updates
我们研究了平面点定位在一个不相交的脂肪区域的集合,并调查的复杂性\emph {本地更新}:替换任何区域由一个不同的区域,是“类似”的原始区域。(i.e.,大小相差最多一个常数因子,并且两个区域之间的距离是常数乘以该大小)。我们表明,它是可以创建一个线性大小的数据结构,允许插入,删除,并在对数时间查询,并允许在子对数时间的指针机器上的本地更新。
2013-02-22 cs.CG cs.DS
Engineering Practical Succinct Bit Vectors: A Space-Time Pareto Analysis on Apple Silicon ARM64 Cores
本文在 Apple Silicon ARM64 架构上工程化实现了三种简洁位向量(BlockBitVec、FastBitVec、RRRBitVec),通过非对称块边界和超块采样索引分别将 rank 查询加速 1.4 倍、select 查询加速 4.9 倍,并揭示了 RRRBitVec 的密度相关对称钟形曲线延迟特性。
2026-05-25 cs.DS