New Algorithms on Wavelet Trees and Applications to Information Retrieval
小波树广泛应用于序列、排列、文本集合、二元关系、离散点和其他简洁的数据结构的表示。然而,我们表明,这仍然没有充分利用这种通用的数据结构的所有优点。特别是,我们将展示如何使用小波树来解决基本的算法问题,如{ \em范围分位数}查询,{ \em范围下一个值}查询,和{ \em范围交叉}查询。我们探讨这些查询在信息检索,特别是{ \em文档检索}在层次和时间的文件,并在表示{ \em倒排列表}的几个应用。
2010-11-19 cs.DS cs.IR
Wavelet Forests Revisited
Department of Computer Science, Stony Brook University(石溪大学计算机科学系)
本文研究了基于固定块压缩增强技术的小波森林结构,扩展其支持选择查询能力,并验证其在不同输入下的高效性。
2026-04-13 cs.DS
Faster Wavelet Tree Queries
针对非二进制字母表文本的rank和select查询,本文通过将小波树改为四叉树、结合预测模型预取数据减少缓存未命中,使查询速度较SDSL实现提升2至3倍。
2023-11-08 cs.DS
Wavelet Trees Meet Suffix Trees
我们提出了一种改进的小波树构造算法,并讨论了它的应用程序的整数键和字符串的排名/选择问题。给定一个长度为n的字符串,在一个大小为$σ\leq n$的字母表上,我们的方法在$O(n \log σ/ \sqrt{\log{n}})$时间内构建小波树,通过$\sqrt{\log n}$的因子改进了最先进的算法。因此,给定n个整数的数组,我们可以在$O(n \sqrt{\log n})$时间内构造一个由$O(n)$机器字组成的数据结构,并且能够在$O(\log n / \log \log n)$时间内回答数组子范围的秩/选择查询。这是一个$\log \log n$ -因素的改善,在查询时间相比,陈和Ptragarcu和一个$\sqrt{\log n}$ -因素的改善,在建设时间相比,Brodal等人。接下来,我们切换到字符串上下文,并提出了一个新的概念,小波后缀树。对于长度为n的字符串w,该数据结构占用$O(n)$字,花费$O(n \sqrt{\log n})$时间来构造,并且同时捕获w的子字符串的组合结构,同时实现有效的自顶向下遍历和二分搜索。特别地,使用小波后缀树,我们能够在$O(\log |x|)$时间内回答以下两个自然类似的子串后缀的排名/选择查询:对于w的子串x和y,计算x的后缀在字典上小于y的数量,并且对于w的子串x和整数k,找到x的第k个字典上最小的后缀。我们进一步表明,小波…
2015-05-15 cs.DS
The Cascading Haar Wavelet algorithm for computing the Walsh-Hadamard Transform
我们提出了一种新的算法来计算沃尔什-阿达玛变换(WHT),它完全由Haar小波变换。我们证明了该算法,我们称之为级联Haar小波(CHW)算法,共享正是相同的串行复杂度作为流行的分而治之算法的WHT。我们还提出了一个自然的方式并行化的算法,具有一些有吸引力的功能。
2016-09-21 cs.DS
Adaptive Massively Parallel Constant-round Tree Contraction
Miller和Reif的FOCS'85经典和基本的树收缩算法是一种广泛适用于并行解决大量树问题的技术。此外,它还被用作大量并行图算法的算法设计技术。然而,在所有先前探索的计算模型中,树收缩仅在并行运行时间的$Ω(\log n)$轮中实现。在这项工作中,我们不仅介绍了一个广义的树收缩方法,但也表明它可以在$O(1/ε^3)$轮自适应大规模并行计算(AMPC)设置,其中每台机器有$O(n^ε)$本地内存的一些$0 < ε< 1$高效地计算。AMPC是利用分布式哈希表的大规模并行计算(MPC)的一种实用扩展。一般来说,MPC是MapReduce、Hadoop、Spark和Flume的抽象模型,这些模型目前在整个行业中广泛使用,近年来在理论界得到了广泛的研究。最后但并非最不重要的是,我们表明,我们的结果扩展到多个问题的树,包括但不限于最大和最大匹配,最大和最大独立集,树同构测试,等等。
2021-11-02 cs.DC cs.DS
Parallel Batched Interpolation Search Tree
有序集(和映射)是最常用的数据类型之一。除了标准的集合操作,如插入、删除和包含,它还可以提供集合-集合操作,如并集、交集和差集。这些集合-集合操作中的每一个都等价于批处理操作:数据结构应该处理一组操作插入、删除和包含。很明显,我们希望这些“大型”操作能够并行化。通常,这些集合是用对数高度的树来实现的,例如2-3树、Treap、AVL树、红黑树等。到目前为止,很少有人关注数据结构,它们工作得更好,但在数据上有几个限制。在这项工作中,我们并行化插值搜索树,服务于每个请求从一个光滑的分布在双对数时间。我们的数据结构的大小$n$执行一批$m$操作在$O(m \log\log n)$工作和poly-log跨度。
2021-10-11 cs.DC cs.DS
Fast and Theoretically-Efficient Batch-Parallel Link-Cut Trees, Euler Tour Trees, and Treaps
University of Maryland(马里兰大学)
本文提出MOJOS框架,利用Treaps构建批量动态序列,实现首个理论上高效的批量并行Link-Cut树,支持路径查询且深度为O(log n),性能优于现有并行批量动态树。
2026-09-15 cs.DS
Fast Parallel Operations on Search Trees
使用(a,b)-树作为一个例子,我们展示了如何执行一个并行分裂对数延迟和并行连接,批量更新,交叉,工会(或合并),和(对称)集差与对数延迟和信息理论上最优的工作。我们提出了渐近最优的解决方案和简化的版本,在实践中表现良好-他们比以前的实现快几倍。
2016-05-11 cs.DS
Parallelized approximation algorithms for minimum routing cost spanning trees
我们并行几个以前提出的算法的最小路由成本生成树问题和一些相关的问题。
2007-07-04 cs.CC cs.DS
Parallel $k$d-tree with Batch Updates
本文提出兼具理论界与工程优化的并行 Pkd-tree,支持并行构建、批量更新及多种查询,并在多类数据集上显著优于现有并行基线。
2025-01-06 cs.DB cs.DC cs.DS
UFO Trees: Practical and Provably-Efficient Parallel Batch-Dynamic Trees
University of Maryland(马里兰大学)
UFO树是一种高效并行批量动态树数据结构,支持广泛查询,具有低空间使用率,适用于大规模输入。
2026-01-15 cs.DS
Batch-Parallel Euler Tour Trees
动态树的问题是保持一个森林进行边插入和删除,同时支持查询的信息,如连接。有许多现有的数据结构,这个问题,但很少有能够利用并行的批量设置,其中大批量的边缘插入或删除的森林一次。本文证明了现有的顺序动态树数据结构--欧拉游览树可以在批处理环境下并行化。对于$n$顶点森林上的一批$k$更新,我们的并行Euler tour树以高概率执行$O(\log n)$深度的$O(k \log (1 + n/k))$预期工作。我们的工作界是渐近最优的,我们改进了Acar等人的深度界。批量并行动态树问题。并行化欧拉游览树的主要构建块是一个批处理并行跳表数据结构,我们相信这可能是独立的利益。欧拉游览树需要能够连接和分裂的序列数据结构。顺序地,使用平衡二叉树,但它们难以并行地连接或拆分。另一方面,我们发现跳表支持批量连接或拆分$k$大小的$n$元素,$O(k \log (1 + n/k))$在预期中工作,$O(\log n)$深度概率很高。我们还实现了相同的效率界限增强的跳表,这使我们能够增加我们的欧拉游览树,以支持子树查询。我们的数据结构在72个内核上实现了67- 96倍的自相关加速,并在大批量处理时实现了超线程。我们的数据结构也优于现有的最快的顺序动态树数据结构经验。
2022-03-05 cs.DS
Approximation algorithms for wavelet transform coding of data streams
本文讨论的问题,找到一个B项小波表示的离散函数$f \in \real^n$,其距离f是最小的。当我们寻求最小化f和它的表示之间的欧几里得距离时,这个问题很容易理解。本文给出了在各种紧支集小波基下寻找最小化广义$\ell_p$距离(包括$\ell_\infty$)的可证明近似表示的第一个已知算法。对于Haar基,给出了一个多项式时间近似方案.这些算法适用于一次通过的子线性空间数据流计算模型。它们自然地推广到多维和加权范数。一个普遍的表示,提供了一个可证明的近似保证下,所有的p-范数同时和第一个近似算法的比特预算版本的问题,称为自适应量化,也提出。此外,它表明,这里提出的算法可以用来选择一个基础从树结构的字典的基地,并找到一个B-项表示的给定函数,可证明近似其最佳字典的基础表示。
2007-07-22 cs.DS
Parallel Query in the Suffix Tree
给定查询字符串的长度$m$,我们探讨了并行查询在一个静态的后缀树为基础的数据结构$p \ll n$,其中$p$是处理器的数量和$n$是文本的长度。我们在CREW PRAM上提出了三个结果。后缀trie中的并行查询在最坏的情况下需要$O(m + p)$工作、$O(m/p + \lg p)$时间和$O(n^2)$空间。我们将同样的技术扩展到后缀树,我们表明它是,通过设计,在最坏的情况下,固有的顺序。最后,我们使用交错的方法执行并行查询,并实现$O(m \lg p)$工作,$O(\frac{m}{p} \lg p)$时间和$O(n \lg p)$空间在最坏的情况下。
2015-09-29 cs.DS
Parallel batch queries on dynamic trees: algorithms and experiments
本文改进批量并行动态树,推广RC树至任意度数,支持多种批量查询,实现首个通用版本,实验验证良好加速比与稳健性。
2025-06-19 cs.DS
Parallel Batch-Dynamic $k$d-Trees
$k$ d树被广泛应用于并行数据库中以支持高效的邻域/相似性查询。因此,支持并行更新$k$ d树是一个重要的操作。在本文中,我们提出了BDL树,一个并行,批量动态实现的$k$ D树,允许高效的并行$k$ -NN查询动态变化的点集。BDL-树由一组日志结构的$k$ d-树组成,它可以用来以多对数深度并行地有效地插入或删除批量点。具体地说,给定一个具有$n$点的BDL树,每批$B$更新都需要$O(B\log^2{(n+B)})$分摊工作和$O(\log(n+B)\log\log{(n+B)})$深度(并行时间)。我们提供了BDL树的优化多核实现。我们的优化包括并行缓存无关的$k$ d树构造和并行布隆过滤器构造。我们的实验在一个36核机器上使用各种合成和真实世界的数据集的双向超线程表明,我们的实现BDL树实现了一个自我相对加速高达$34.8\times$(平均$28.4\times$)的批量插入,高达$35.5\times$(平均$27.2\times$)的批量删除,和高达$46.1\times$(平均$40.0\times$)的$k$ -最近邻查询。此外,它实现了高达1450万次更新/秒的批并行更新和670万次查询/秒的$k$ -NN查询的吞吐量。我们比较两个基线$k$ d树的实现,并证明BDL树实现批量更新的两个基线选项之间的良好权衡。
2021-12-12 cs.DB cs.DS
Alphabet-dependent Parallel Algorithm for Suffix Tree Construction for Pattern Searching
最近,后缀树在处理诸如DNA或蛋白质序列之类的大数据序列方面已经成为非常成功的数据结构。因此,并行架构已经变得无处不在。我们提出了一种新的字母依赖的并行算法,试图利用多核架构的反常。微卫星对于它们的生物相关性是重要的,因此我们的算法是基于时间有效的构建来识别这样的微卫星。我们在实验上实现了高达15倍的加速比的顺序算法上不同的生物序列的输入大小。
2017-04-19 cs.DS
Massively Parallel Dynamic Programming on Trees
动态规划是一种功能强大的技术,但不幸的是,这种技术通常具有内在的顺序性。也就是说,没有统一的方法来并行化使用动态规划的算法。在本文中,我们试图解决这个问题的大规模并行计算(MPC)模型,这是一个流行的抽象MapReduce类范例。我们的主要结果是一个算法框架,以适应一个大家庭的动态程序定义在树上。我们介绍了两类图的问题,承认动态规划解决方案的树木。我们把它们称为“(polylog)-可表达”和“线性-可表达”问题。我们表明,这两个类可以并行化在$O(\log n)$轮使用次线性数量的机器和次线性内存每台机器。为了实现这一结果,我们引入了一系列可以组合在一起的技术。为了说明我们的框架的通用性,我们在MPC的$O(\log n)$轮中实现了图问题的动态规划解决方案,例如最小二分法,$k$ -生成树,最大独立集,最长路径等,当输入图是树时。
2018-09-14 cs.DS
Towards Fully Dynamic Omnitrees: Moment-Conserving Anisotropic Compression With Wavelets
RIKEN Center for Computational Science(理化学研究所计算科学中心)
研究为全向树编码定义新操作,拓展其功能至粗化以实现完全自适应压缩,展示其与小波自然整合,推导相关算法并应用于数据集,对比OpenVDB证明全向树在存储和处理上的潜力。
2026-07-07 cs.CG cs.DS cs.GR
Parallel Dynamic Spatial Indexes
UC Riverside(加州大学河滨分校)
本文提出并行正交树和SPaC树族,以实现高效动态空间数据的批量更新,同时保持查询性能。
2026-01-08 cs.DB cs.DS
GPU-friendly, Parallel, and (Almost-)In-Place Construction of Left-Balanced k-d Trees
提出一种GPU友好、易并行且几乎原地的算法,用于在k维点上构建左平衡且完整的k-d树,每点仅需一个int临时存储,每次迭代包含一次并行排序和CUDA更新内核。
2023-04-04 cs.DS cs.GR
Spanning Tree Enumeration in 2-trees: Sequential and Parallel Perspective
对于连通图,顶点分隔符是一组顶点,移除这些顶点会创建至少两个组件。顶点分隔符$S$是最小的,如果它不包含其他分隔符作为严格子集,并且最小顶点分隔符是基数最小的最小顶点分隔符。{ \em团}是一组相互相邻的顶点。2-树是一个连通图,其中每个最大团的大小为3,每个最小顶点分离符的大小为2。图$G$的生成树是图$G$的一个连通且无圈的子图。在本文中,我们专注于两个枚举问题,无论是从顺序和并行的角度来看。特别是,我们考虑列出所有可能的生成树的2-树,并列出所有完美消除排序的弦图。就生成树的枚举而言,我们的方法本质上是递增的,为此,我们使用2-树的构造顺序,即$n$ -顶点树的枚举来自$n-1$顶点树,$n \geq 4$。此外,我们还提出了一个并行算法的生成树枚举使用$O(2^n)$处理器。据我们所知,本文首次尝试在设计一个并行算法为这个问题。最后,我们提出了一个顺序和并行算法,枚举所有完美消元序的弦图。
2014-08-18 cs.DM cs.DS