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
Lightweight LCP-Array Construction in Linear Time
后缀树是字符串处理中一种非常重要的数据结构,但其占用的空间非常大。在大规模应用中,因此使用压缩后缀树(CST)。CST由三个(压缩)组件组成:后缀数组、LCP数组和用于模拟后缀树上的导航操作的数据结构。LCP-array存储了字典顺序相邻后缀的最长公共前缀的长度,并且可以在线性时间内计算。在本文中,我们提出了新的LCP阵列的建设算法,是快速和非常空间效率。在实践中,我们的算法优于目前最好的算法。
2010-12-20 cs.DS
Sampled Longest Common Prefix Array
当增加最长公共前缀数组和其他结构时,后缀数组可以在最优的时间和空间上解决许多字符串处理问题。LCP数组的压缩表示也是许多压缩后缀树提案中的主要构建块之一。在本文中,我们描述了一种新的压缩LCP表示:采样LCP阵列。我们表明,当使用压缩后缀阵列(CSA),采样LCP阵列往往提供更好的时间/空间的权衡比现有的替代品。我们还展示了如何直接从CSA构建LCP阵列的压缩表示。
2010-06-29 cs.DS
Suffix Arrays for Spaced-SNP Databases
单核苷酸多态性(SNP)解释了人类基因组之间的大多数变异。我们展示了如何,如果数据库中的基因组仅由合理数量的SNP不同,并且这些SNP之间的子串是唯一的,那么我们可以为该数据库存储快速压缩的后缀数组。
2014-07-01 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
Space-Efficient Construction of Compressed Suffix Trees
我们展示了如何建立几个数据结构的核心重要字符串处理,作为输入的Burrows-Wheeler变换(BWT)和使用小的额外的工作空间。设$n$为文本长度,$σ$为字母大小。我们首先提供了两个算法,枚举所有的LCP值和后缀树间隔在$O(n\logσ)$时间只使用$o(n\logσ)$位的工作空间上的输入BWT。使用这些算法作为构建模块,对于任何参数$0 < ε\leq 1$,我们展示了如何在$O\left(n(\logσ+ ε^{-1}\cdot \log\log n)\right)$时间内使用最多$n\logσ\cdot(ε+ o(1))$位的工作空间在输入BWT和输出的顶部构建PLCP位向量和后缀树拓扑的平衡括号表示。特别地,这意味着我们可以仅使用简洁的工作空间(即$o(n\logσ)$位)和$Θ(n\logσ) + ω(n\log\log n)$中的任何时间从BWT构建压缩的后缀树。这改进了以前最节省空间的算法,这些算法在$O(n)$比特和$O(n\log n)$时间中工作。我们还考虑了合并字符串集合的BWT的问题,并提供了一个解决方案,运行在$O(n\logσ)$的时间,并使用$o(n\logσ)$位的工作空间。我们的LCP结构和BWT合并算法的有效实现使用(在RAM中)少至$n$位的输入/输出的压缩表示,并以每秒$2.92$兆位的速度处理数据。
2019-08-12 cs.DS
Dynamic Suffix Array in Optimal Compressed Space
本文提出首个支持后缀数组查询与更新的动态压缩数据结构,在对数多项式时间内运行,并达到δ-最优空间,填补了静态结构的空白。
2024-11-08 cs.DS
Space-Efficient Construction of Compressed Indexes in Deterministic Linear Time
我们表明,压缩后缀数组和压缩后缀树的字符串$T$可以内置的$O(n)$确定性时间使用$O(n\logσ)$位的空间,其中$n$是字符串长度和$σ$是字母表的大小。先前描述的确定性算法要么在取决于字母表大小的时间内运行,要么需要工作空间的$ω(n\log σ)$位。我们的结果有直接的应用到其他问题,如产生第一个线性时间LZ77和LZ78解析算法,使用$O(n \logσ)$位。
2016-11-14 cs.DS
Compressed Inverse Suffix Arrays
North Carolina State University(北卡罗来纳州立大学)
本文提出了一种新的压缩方法,通过直接从打包文本支持逆后缀数组查询,实现更快的查询时间,同时减少存储需求。
2026-09-03 cs.DS
FM-Indexing Grammars Induced by Suffix Sorting for Long Patterns
与FM索引中引入的向后搜索结合使用的游程压缩Burrows-Wheeler变换(RLBWT)是大多数压缩索引的核心,用于高度重复的数据集,如生物序列。与语法索引相比,RLBWT的大小通常要大得多,但是像计算长模式出现次数这样的查询可以比迄今为止任何现有的语法索引快得多。在本文中,我们结合了一个文法与RLBWT的优点,建立RLBWT上的一个特殊的文法基于诱导后缀排序。我们的实验表明,我们的混合方法优于经典的RLBWT的索引大小,并在生物数据集上的查询时间足够长的模式。
2021-10-04 cs.DS
Suffixient Arrays: a New Efficient Suffix Array Compression Technique
本文提出 Suffixient Array,仅保留后缀数组中足以通过二分搜索定位模式及 MEM 的子集,实现压缩工作空间线性构建,并在重复集合上显著快于 SA 和 r-index。
2025-03-18 cs.DS
Collapsing the Hierarchy of Compressed Data Structures: Suffix Arrays in Optimal Compressed Space
提出仅需最优压缩文本表示空间即可支持后缀数组查询的新索引,将压缩数据结构层级坍缩为单点,并大幅改进了构建时间及数十种算法的空间复杂度。
2023-08-07 cs.DS
Online Computation of the Longest Repeating Suffix and Smallest Suffixient Sets via Incremental Run-Length BWT-based Indexes
University of Milano-Bicocca(米兰比可卡大学);University of Yamanashi(山梨大学);Gustave Eiffel University(古斯塔夫·埃菲尔大学)
研究在线构建最小后缀集及计算最长重复后缀,给出最小后缀集压缩空间在线构建法,针对两问题提出时空权衡,还证明计算LRS的确定性在线算法最坏情况需Ω(n)比特峰值工作空间。
2026-07-07 cs.DS
Wee LCP
我们证明了最长公共前缀(LCP)的信息可以存储在更少的空间比以前已知的。更确切地说,我们表明,在存在的文本和后缀数组,O(n)额外的位是足够的回答LCP查询渐近在同一时间,需要检索一个条目从后缀数组。这产生具有亚对数导航时间的最小压缩后缀树。
2010-02-19 cs.DS
Testing Suffixient Sets
DAIS, Ca’ Foscari University of Venice(威尼斯卡福斯卡里大学);Centre for Biotechnology and Bioengineering, Chile(智利生物技术与生物工程中心);Department of Computer Science, University of Chile(智利大学计算机系)
本文研究Suffixient集合的判定问题,提出线性时间算法以确定给定文本位置子集是否为Suffixient集合或最小基数Suffixient集合。
2026-07-01 cs.DS
Suffix sorting via matching statistics
本研究提出一种基于匹配统计的后缀排序新算法,通过构建匹配统计压缩表示加速后缀比较,在高度相似字符串集合上构建广义后缀数组的速度可媲美甚至超过现有最快方法,还提出了可独立应用的匹配统计快速计算启发式方法。
2022-07-03 cs.DS
Computing matching statistics on Wheeler DFAs
匹配统计被引入到解决近似字符串匹配问题,这是一个经常性的子程序在生物信息学应用。2010年,Ohlebusch等人[SPIRE 2010]提出了一种用于计算匹配统计的时间和空间高效算法,该算法依赖于压缩后缀树的某些组件-特别是最长公共前缀(LCP)数组。在本文中,我们展示了他们的算法可以从字符串推广到惠勒确定性有限自动机。最重要的是,我们引入了一个概念的LCP阵列惠勒自动机,从而建立了一个明确的第一步扩展(压缩)后缀树的功能标记图。
2023-01-13 cs.DS
New Algorithms for Position Heaps
我们提出了几个结果的位置堆,一个相对较新的替代后缀树和后缀数组。首先,我们证明了,如果我们限制要寻找的模式的最大长度,那么我们也可以限制堆的高度,并减少插入和删除的最坏情况下的成本。其次,我们展示了如何在线性时间内建立一个位置堆,而不依赖于字母表的大小。第三,我们展示了如何增加位置堆,使其支持访问相应的后缀数组,反之亦然。第四,我们引入了一个位置堆的变体,它可以通过一个具有线性额外位数的压缩后缀数组来有效地模拟。
2013-01-13 cs.DS
Lempel-Ziv Computation In Compressed Space (LZ-CICS)
我们表明,无论是Lempel Ziv 77-和78-因式分解的文本长度$n$上的整数字母表的大小$σ$可以计算在$O(n \lg \lg σ)$时间(线性时间,如果我们允许随机化)使用$O(n \lg σ)$位的工作空间。假设后缀树的压缩表示被加载到RAM中,我们可以使用空间的$z \lg n + O(n)$位在$O(n)$时间内计算两个因子分解,其中$z$是因子的数量。
2016-05-28 cs.DS
Run-Length Encoded Nondeterministic KMP and Suffix Automata
我们提出了一种新的位并行表示,基于行程长度编码的非确定性KMP和后缀自动机的字符串$P$至少有两个不同的符号。我们的方法针对的是小字母表上的长字符串的情况,并补充了Cantone et al.(2012)的方法,该方法对大字母表上的长字符串有效。我们的编码需要$O((σ+ m)\lceil ρ/ w\rceil)$空间,并允许一个模拟的自动机在一个字符串上的时间$O(\lceil ρ/ w\rceil)$每个过渡,其中$σ$是字母表的大小,$m$是$P$的长度,$ρ$是行程长度编码的长度$P$和$w$是机器字的大小位。输入字符串可以以未编码或游程长度编码的形式给出。
2014-12-17 cs.DS cs.FL
A compressed dynamic self-index for highly repetitive text collections
我们提出了一种新的压缩动态自索引高度重复的文本集合。签名编码是一种针对高度重复文本的压缩的动态自索引,并且具有对短模式的模式搜索缓慢的很大缺点。我们利用截断后缀树的思想改进了这一缺点,以更快的模式搜索,并提出了第一个压缩的动态自索引命名为TST索引,不仅支持快速模式搜索,但也动态更新操作的索引高度重复的文本。使用高度重复文本的基准数据集的实验表明,TST索引的模式搜索显着改善。
2018-04-24 cs.DS
Optimal Construction of Compressed Indexes for Highly Repetitive Texts
我们提出的算法,给定的输入字符串的长度$n$在整数字母表的大小$σ$,构造的Burrows-Wheeler变换(BWT),置换最长公共前缀(PLCP)阵列,和LZ 77解析在$O(n/\log_σn+r\,{\rm polylog}\,n)$时间和工作空间,其中$r$是运行在BWT的输入。这些是许多压缩索引的基本组成部分,如压缩后缀树,FM索引,语法和基于LZ 77的索引,而且在序列分析和数据压缩中也有许多应用。$r$的值是重复性的常用度量,如果字符串高度重复,则该值明显小于$n$。由于只访问字符串的每个符号需要$Ω(n/\log_σn)$时间,所提出的算法是时间和空间最优的输入满足假设$n/r\inΩ({\rm polylog}\,n)$的重复性。对于这些输入,我们的结果改进了Belazzougui(STOC 2014)和Munro等人(SODA 2017)目前最快的通用算法,这些算法在$O(n)$时间内运行,并使用$O(n/\log_σ n)$工作空间。我们还展示了如何使用我们的技术,以获得最佳的解决方案,对其他基本字符串处理问题的高度重复的数据,如:林登因子分解,运行长度压缩后缀数组的建设,和一些经典的“教科书”的问题,如计算最长的子串发生至少一些固定的次数。
2019-05-20 cs.DS
Compressed Representations of Permutations, and Applications
我们探索各种技术来压缩一个置换$π$在n个整数,利用$π$中的有序连续性,同时支持其应用程序$π$(i)和它的逆$π^{-1}(i)$在短时间内的应用。我们的压缩方案产生几个有趣的副产品,在许多情况下匹配,改进或扩展现有的最佳结果的应用程序,如编码的排列,以支持迭代应用程序$π^k(i)$它,整数函数,倒排列表和后缀数组。
2009-02-06 cs.DS
Subpath Queries on Compressed Graphs: a Survey
文本索引是一个经典的算法问题,已经被研究了四十多年:给定一个文本$T$,离线预处理它,这样,以后,我们可以快速计数和定位任何字符串(查询模式)在$T$中的出现时间与查询的长度成正比。这个问题最早的最优时间解决方案,后缀树,可以追溯到1973年,它需要比纯文本多两个数量级的空间来存储。在2000年,两个突破性的工作表明,高效的查询可以实现没有这种空间开销:一个快速的索引被存储在一个空间成比例的文本的熵。这些贡献对生物信息学产生了巨大的影响:如今,几乎所有的DNA比对都采用了压缩索引。最近的趋势考虑了更强大的压缩方案(字典压缩器)和将问题推广到标记图:毕竟,文本可以被视为标记的有向路径。反过来,由于有限状态自动机可以被认为是标记图的一种特殊情况,这些发现在压缩索引和正则语言理论之间建立了一座桥梁,最终允许索引正则语言,并有望为正则表达式匹配等问题提供新的解决方案。这个调查是一个温和的介绍的迷人的旅程,把我们从后缀树到今天的压缩索引标记图和正则语言的主要里程碑。
2020-12-13 cs.DS
Linear Index for Logarithmic Search-Time for any String under any Internal Node in Suffix Trees
本文提出一种构建线性索引的算法,使得在后缀树中任意内部节点下搜索任意长度模式的时间复杂度降至 O(logn)。
2024-06-03 cs.CC cs.DS cs.IT
In-Place Sparse Suffix Sorting
后缀数组对文本中所有后缀的词典顺序进行编码,并且通常与最长公共前缀数组(LCP)结合使用,以在减少的空间中模拟后缀树上的导航查询。在诸如稀疏和压缩文本索引之类的空间关键型应用中,通常仅需要关于所有$n$文本后缀的大小$b$子集的词典顺序的信息。这样的信息可以空间有效地(以$b$字)存储在稀疏后缀阵列(SSA)中。SSA及其相关的稀疏LCP阵列(SLCP)可以作为稀疏后缀树的空间有效的替代品。最近,Gawrychowski和Kociumaka [SODA 2017]表明,稀疏后缀树(因此SSA和SLCP)可以在渐近最优的$O(b)$空间中构建,蒙特卡罗算法在$O(n)$时间内运行。然而,使用SSA和SLCP数组代替稀疏后缀树的主要原因是它们各自减少了$b$字的空间。这自然导致了对构建这些数组的就地算法的追求。Franceschini和Muthukrishnan [ICALP 2007]表明,可以在最佳运行时间内就地内置的完整的后缀数组。另一方面,几十年来,为后缀的\emph{general}子集找到用于构建SSA和SLCP的次二次原地算法一直是一项难以捉摸的任务。在本文中,我们给出了这个问题的第一个解决方案。我们提供了在$O(n\log n)$预期时间内构建完整LCP阵列的第一个就地算法和在$O(n + b\log^2 n)$预期时间内构建SSA和SLCP的第一个Monte Carl…
2017-11-01 cs.DS
Cell-Probe Lower Bounds and Complexity-Preserving Reductions for Suffix Array Queries
Stony Brook University(石溪大学);Max Planck Institute for Informatics(马克斯·普朗克信息学研究所)
本文证明了后缀数组查询的首个单元探测时空下界,解答了Grossi与Vitter的25年问题,还给出后缀数组查询与短串前缀查询间无附加项的复杂度保持等价归约。
2026-08-20 cs.DS
Engineering Fast and Space-Efficient Recompression from SLP-Compressed Text
本文首次实现压缩时间内运行的再压缩RLSLP构建,基于LZ77近似,相比非压缩方法实现46倍加速和17倍内存降低,为快速索引构建提供实用路径。
2025-10-23 cs.DS
Space/time-efficient RDF stores based on circular suffix sorting
本文提出 RDFCSA,将 RDF 三元组视为循环字符串并借助压缩后缀数组进行自索引,以低空间开销高效支持三元组模式与 SPARQL 连接查询。
2022-04-13 cs.DS
Fast Compressed Self-Indexes with Deterministic Linear-Time Construction
我们介绍了一个压缩后缀数组表示,在一个文本$T$的长度$n$在一个字母表的大小$σ$,可以建立在$O(n)$确定性的时间,在$O(n\logσ)$位的工作空间,并计数的次数出现的任何模式$P$在$T$在时间$O(|P| + \log\log_w σ)$上的RAM机器的$w=Ω(\log n)$位字。这个新索引的性能优于所有其他可以在线性确定性时间内构建的压缩索引以及其他一些索引。唯一更快的索引只能在预期的线性时间内构建,或者需要$Θ(n\log n)$位。我们还表明,通过使用$O(n\logσ)$位,我们可以在线性时间内建立一个索引,在时间上计数$O(|P|/\log_σn + \log n(\log\log n)^2)$,这是RAM最佳的$w=Θ(\log n)$和足够长的模式。
2017-09-01 cs.DS
Constant-Time Inverse Suffix Array Queries in Compact Space and Sublinear-Time Construction of Suffix Array Indexes
Stony Brook University(石溪大学);Max Planck Institute for Informatics(马克斯·普朗克 informatics 研究所)
该研究提出最优空间的常数时间逆后缀数组结构,在字RAM中确定性构造该结构及两类后缀数组,匹配二元文本的时间-空间下界,可提升字典匹配算法效率。
2026-08-20 cs.DS
Improved Compressed String Dictionaries
我们引入了一种新的压缩数据结构族,以有效地在主存中存储和查询大型字符串字典。我们的主要技术是一个层次化的前端编码与后缀数组中最长公共前缀计算的想法相结合。我们的数据结构在现实世界的字典中产生相关的时空权衡。我们专注于两个领域,字符串字典被广泛使用,需要有效的压缩:URL集合,在Web图形和应用程序,如Web挖掘的关键元素;和集合的URI和文字,RDF数据集的基本组成部分。我们的实验表明,我们的数据结构实现更好的压缩比国家的最先进的替代品,同时提供非常有竞争力的查询时间。
2019-11-19 cs.DS
Mixing FM-indexes and CSAs: backward search over an order-1 rank encoding
Center for Biotechnology and Bioengineering (CeBiB)(生物技术生物工程中心)
针对FM索引和CSA在字母表增大时的性能差异,提出一种基于1阶秩编码的混合索引,通过反向搜索结合单步CSA恢复信息,在合成数据上速度最快,但空间开销较大。
2026-10-01 cs.DS
FM-index of Alignment with Gaps
最近,一个压缩索引相似的字符串,称为FM对齐索引(FMA),已被提出的模式搜索和随机访问的功能。FMA在空间要求和模式搜索时间上是相当有效的,但它只适用于没有间隙的相似串的对齐。在本文中,我们提出了FM-索引的差距,一个现实的索引相似的字符串,它允许在其对齐的差距对齐。为此,我们设计了一个新的版本的后缀数组的对齐,通过使用对齐转换和一个新的定义的后缀。新的比对后缀数组使我们能够支持LF映射和向后搜索,这是FM索引的关键功能,而不管比对中是否存在空位。我们通过实验比较了我们的索引与Makinen等人在1000个基因组计划中的100个基因组序列上的RLCSA。我们的索引的索引大小是不到三分之一的RLCSA。
2016-06-13 cs.DS
On the Use of Suffix Arrays for Memory-Efficient Lempel-Ziv Data Compression
许多研究致力于优化Lempel-Ziv(LZ)77系列的算法,无论是在速度和内存需求方面。二叉搜索树和后缀树(ST)是经常用于此目的的数据结构,因为它们允许以内存使用为代价进行快速搜索。近年来,由于后缀数组(SA)的简单性和低存储器要求,人们对它们产生了兴趣。一个关键的问题是,SA可以解决子串问题几乎一样有效的ST,使用更少的内存。本文提出了两种新的SA为基础的LZ编码算法,这需要在解码器端的修改。标准基准测试的实验结果表明,我们的算法,虽然不是更快,使用的内存比ST同行少3至5倍。我们基于SA的算法的另一个重要特征是,内存量与要搜索的文本无关,因此可以先验地定义要分配的内存。这些低且可预测的内存需求特性在几种情况下至关重要,例如嵌入式系统,其中内存非常宝贵,速度并不重要。最后,我们指出,新的算法是一般的,在这个意义上说,他们是足够的应用程序以外的LZ压缩,如文本检索和向前/向后子串搜索。
2009-03-25 cs.DS
Hardness of Frequency-Related Queries on Compressed Strings
Stony Brook University(石溪大学)
研究压缩字符串上频率相关查询,如秩查询和符号出现查询。通过建立条件下界,证明若用特定空间结构在多对数时间内回答此类查询,将意味着布尔矩阵乘法有更快算法,还扩展了下界范围并考虑了其他相关问题。
2026-07-09 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
Queries on LZ-Bounded Encodings
我们描述了一个数据结构,存储一个字符串$S$在空间中类似的Lempel-Ziv编码,并有效地支持访问,排名和选择查询。这些查询是实现简洁和压缩的数据结构(如压缩树和图)的基础。我们表明,我们的数据结构可以内置的一个可扩展的方式,在实践中是既小又快相比,其他数据结构支持这样的查询。
2014-12-02 cs.DS
String Indexing with Compressed Patterns
针对客户端-服务器场景中以压缩形式提交的模式查询,提出一种线性空间数据结构,能直接高效处理Lempel-Ziv压缩模式,实现接近最优的查询时间,并开发了编码LZ77压缩后缀和分解trie等通用数据结构技术。
2024-02-14 cs.DS
Time and Memory Efficient Lempel-Ziv Compression Using Suffix Arrays
众所周知的基于字典的Lempel-Ziv(LZ)77系列算法是几种通用无损压缩技术的基础。这些算法在编码/解码时间和存储器要求方面是不对称的,前者要求更高。在过去的几年中,相当多的注意力已经致力于寻找有效的数据结构,以支持这些搜索的问题,旨在优化编码器的速度和内存。哈希表、二叉搜索树和后缀树已被广泛用于此目的,因为它们允许以牺牲存储器为代价的快速搜索。最近的一些研究集中在后缀数组(SA),由于其低内存需求和线性构造算法。先前的工作已经展示了如何使用单个SA或具有最长公共前缀信息的辅助阵列的SA来计算LZ 77分解。基于SA的算法比基于树的编码器使用更少的内存,分配严格必要的内存量,而不管要搜索/编码的文本的内容。在本文中,我们提出了更快的SA为基础的算法LZ 77编码和子串搜索,保持其低的内存需求,以前的工作进行改进。对于一些压缩设置,在一个大型基准测试文件集上,我们的低内存SA编码器也比基于树的编码器更快。这提供了时间和存储器高效的LZ 77编码,是对像LZMA这样的公知编码器上的树的可能替代。我们的算法也适用于文本分类,因为它提供了一种紧凑的方式来描述文本的词袋表示,以及一个快速的索引机制,允许快速找到所有的单词集,以一个给定的符号开始,在一个静态字典。
2009-12-30 cs.DS cs.IT math.IT
Low Space External Memory Construction of the Succinct Permuted Longest Common Prefix Array
最长公共前缀(LCP)数组是索引字符串匹配中的一种通用辅助数据结构。它可以用来加速使用后缀数组(SA)的搜索,并提供底层后缀树拓扑的隐式表示。长度为$n$的字符串的LCP阵列可以表示为长度为$n$的字的阵列,或者在存在SA的情况下,表示为$2n$位加上渐近可忽略的支持数据结构的位向量。已经提出了用于LCP阵列的外部存储器构造算法,但是迄今为止提出的那些算法在外部存储器中具有$O(n)$字(即,$O(n \log n)$位)的空间要求。在某些实际情况下,这种空间要求过于昂贵。我们提出了一个外部存储器算法,用于构建的$2n$位版本的LCP阵列,使用$O(n \log σ)$位的额外空间在外部存储器中时,给定的(压缩)BWT与字母大小$σ$和采样率$O(\log n)$的采样逆后缀阵列。在$σ$通常比$n$小得多或者甚至是常数的情况下,这在实践中通常是显著的空间增益。我们还考虑了计算循环字符串的简洁LCP数组的情况。
2016-03-08 cs.DS
Tight Lower Bounds for Central String Queries in Compressed Space
该研究推导了压缩空间下几乎所有基础字符串查询的紧下界,确立了查询最优时间复杂度的二分性,完善了压缩索引的理论基础,为后续数据结构研究指明方向。
2025-10-22 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
Text Indexing for Long Patterns using Locally Consistent Anchors
本文提出基于局部一致锚点的文本索引,在已知模式长度下界时,同时优化索引空间、查询时间、构建空间与构建时间,实验优于经典索引。
2024-07-16 cs.DB cs.DS
Linear-time string indexing and analysis in small space
简洁数据结构领域在过去的16年里蓬勃发展。从Grossi和Vitter(STOC 2000)的压缩后缀数组(CSA)和Ferragina和Manzini(FOCS 2000)的FM索引开始,已经开发了许多基于Burrows-Wheeler变换(BWT)的字符串索引的推广和应用,所有这些都占用了接近输入大小的空间。在许多大规模的应用程序中,索引的构造和使用需要被视为一个计算单元。在小空间中的高效字符串索引和分析也是高通量DNA测序的数据密集型领域中的许多原语的核心。我们报告了以下字符串索引和分析方面的进展。我们表明,一个字符串$T\in \{1,\ldots,σ\}^n$的BWT可以内置的确定的$O(n)$时间使用的只是$O(n\logσ)$位的空间,其中$σ\leq n$。在相同的时间和空间预算内,我们可以基于BWT构建一个索引,该索引允许枚举$T$的后缀树的所有内部节点。许多基本的字符串分析问题可以被映射到这样的枚举,并且因此可以在确定性的$O(n)$时间和来自输入字符串的$O(n\logσ)$位空间中被解决。我们还展示了如何建立许多现有的索引的基础上的BWT,如CSA,压缩后缀树(CST),和双向BWT索引,在随机$O(n)$时间和空间的$O(n\logσ)$位。以前最快的BWT、CSA和CST构造算法使用$O(n\logσ)$空间位,前两个结构需要$O(n\log{\logσ…
2016-09-20 cs.DS
Grammar Index By Induced Suffix Sorting
提出一种基于诱导后缀排序的语法压缩索引,利用局部敏感解析性质,通过核心子串高效定位模式串的所有出现,时间复杂度和空间复杂度均与语法大小相关。
2026-06-17 cs.DS
Time and Space Efficient Lempel-Ziv Factorization based on Run Length Encoding
提出了一种基于行程长度编码(RLE)的计算字符串Lempel-Ziv分解的新方法。我们提出了一个概念上简单的基于后缀数组变体的离线算法,以及一个基于有向非循环词图(DAWG)变体的在线算法。这两个算法都是在$O(N+n\log n)$时间和O(n)额外空间中运行的,其中N是字符串的大小,$n\leq N$是RLE因子的数量。对N的时间依赖性仅在于字符串到RLE的转换,这可以在O(N)时间和O(1)额外空间(不包括输出)中非常有效地计算。当字符串可通过RLE压缩时,即,$n = o(N)$,我们的算法是,据我们所知,第一个算法,只需要O(N)额外的空间,而运行在$o(N\log N)$时间。
2013-05-27 cs.DS
The CDAWG Index and Pattern Matching on Grammar-Compressed Strings
本研究提出将CDAWG用作语法压缩字符串的索引,实现了高效模式匹配,实验验证其运行时性能达当前最优,且空间复杂度符合已知最优渐近界。
2024-07-11 cs.DS
CSA++: Fast Pattern Search for Large Alphabets
文本中的索引模式搜索已经研究了几十年。对于小字母,FM索引提供了无与伦比的性能,在所需的空间和搜索速度方面。对于大字母表--例如,当标记是单词时--情况更加复杂,FM-Index表示是紧凑的,但可能很慢。在本文中,我们应用最近的创新领域的倒排索引和文档检索压缩模式搜索,包括字母到数百万。从实际的压缩后缀数组结构开发的贞根,我们表明,埃利亚斯-法诺代码为基础的方法,文档索引可以适应提供新的权衡选项,在索引模式搜索,并提供显着更快的模式处理相比,以前的实现,以及减少空间的要求。我们报告了一个详细的实验评估,证明了新方法的相对优势,使用标准的比萨饼和辣椒的方法和文件,以及应用用例来自大规模数据压缩,并从自然语言处理。对于大的字母表,新的结构产生的空间要求接近那些最高度压缩的FM-Index变体,以及无与伦比的搜索吞吐率。
2016-05-18 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
Output-Sensitive Construction of CDAWGs from BWT-Runs
Graduate School of IST, Hokkaido University(北海道大学信息理工学院);Department of Informatics, Kyushu University(九州大学信息学系)
提出一种利用压缩后缀树在O(e_L log n log(n/r))时间内构造CDAWG的算法,工作空间为O(r log(n/r)+e_L),其中e_L为边数,r为BWT-runs数。
2026-07-03 cs.DS
Faster Compact Top-k Document Retrieval
解决top-k文档检索的最优索引[Navarro and Nekrich,SODA 12]对于长度为m的模式需要O(m + k)时间,但对于n个符号的集合,其空间至少为80 n字节。我们减少到1.5n到3 n字节,O(m+(k+log log n)log log n)的时间,在典型的文本。该索引比以前最好的压缩解决方案快25倍,实际上最多需要5%的空间(在某些情况下只需一半)。除了用压缩的数据结构代替传统的数据结构外,我们的主要思想是用频率阈值代替后缀树采样来实现压缩。
2012-11-22 cs.DS cs.IR
On Compressing Permutations and Adaptive Sorting
先前的排列的紧凑表示集中于在纯数据$<π(1), π(2),...π(n)>$之上添加小索引,以便有效地支持逆排列或迭代排列的应用。在本文中,我们开始研究的技术,利用数据本身的可压缩性,同时保留有效的计算$π(i)$及其逆。特别是,我们专注于利用{ \em运行},这是子集(连续或不连续)的置换是单调的域。这些类型的运行在实际应用中出现了几种变体,如倒排索引和后缀数组。此外,我们的改进结果压缩数据结构的排列也产生更好的自适应排序算法。
2011-08-22 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