Sorted Range Reporting
在本文中,我们考虑一个变种的正交范围报告问题时,所有的点都应报告的排序顺序的$x$坐标。我们表明,报告二维点与此附加条件可以组织(几乎)作为标准范围报告的效率。此外,我们的结果推广和改进了以前已知的正交范围后继问题的结果,并可以用来获得更好的解决一些弦学问题。
2012-04-25 cs.CG cs.DS
Orthogonal Range Reporting and Rectangle Stabbing for Fat Rectangles
本文研究了输入对象或查询为胖矩形的特殊情况下的两个几何数据结构问题。我们表明,在这种情况下,一个显着的改善相比,一般情况下,可以实现。我们描述的数据结构,回答二维和三维正交范围报告查询的情况下,查询范围是一个\emph{fat}矩形。我们的二维数据结构使用$O(n)$字,并支持在$O(\log\log U +k)$时间查询,其中$n$是数据结构中的点的数量,$U$是宇宙的大小和$k$是查询范围中的点的数量。我们的三维数据结构需要$O(n\log^{\varepsilon}U)$字的空间和回答查询在$O(\log \log U + k)$时间。我们还考虑了一组三维胖矩形上的矩形刺伤问题。我们的数据结构使用$O(n)$空间,并在$O(\log U\log\log U +k)$时间内回答穿刺查询。
2019-05-07 cs.DS
4D Range Reporting in the Pointer Machine Model in Almost-Optimal Time
在正交范围报告问题中,我们必须对多维点集$P$进行预处理,以便对于任意轴平行的查询矩形$q$,可以有效地报告来自$q\cap P$的所有点。本文研究了指针机模型下多维正交范围报告的查询复杂度。我们提出了一个数据结构,回答四维正交范围报告查询在几乎最佳的时间$O(\log n\log\log n + k)$和使用$O(n\log^4 n)$空间,其中$n$是$P$和$k$是在$q\cap P$点的数量。这是第一个具有接近线性空间使用的数据结构,在4d中实现了几乎最佳的查询时间。这个结果可以立即推广到$d\ge 4$维度:我们表明,有一个数据结构支持$d$维范围报告查询的时间$O(\log^{d-3} n\log\log n+k)$任何常数$d\ge 4$。
2022-11-06 cs.CG cs.DS
Towards Tight Lower Bounds for Range Reporting on the RAM
在正交范围报告问题中,我们要对$U \times U$网格上的一组具有整数坐标的$n$点进行预处理。目标是支持报告轴对齐查询矩形内的所有$k$点。这是数据库和计算几何中最基本的数据结构问题之一。尽管问题的重要性,其复杂性仍然没有得到解决的字RAM。在上界侧,存在三个最佳权衡:(1.)查询时间$O(\lg \lg n + k)$与$O(nlg^{\varepsilon}n)$字的空间为任何常数$\varepsilon>0$。(2.)查询时间$O((1 + k) \lg \lg n)$与空间的$O(n \lg \lg n)$字。(3.)查询时间$O((1+k)\lg^{\varepsilon} n)$与最佳$O(n)$字的空间。然而,唯一已知的查询时间下限是$Ω(\log \log n +k)$,即使是线性空间数据结构。所有这三个目前最好的上限权衡减少范围报告球继承问题。球继承是一个问题,基本上封装了所有以前的尝试,解决范围报告的字RAM。在本文中,我们取得了进展,通过证明细胞探测球继承的下限范围报告的上限和下限之间的差距。我们的下限是严格的大范围的参数,不包括任何进一步的进展范围报告使用球继承减少。
2014-11-03 cs.CC cs.DS
New Data Structures for Orthogonal Range Reporting and Range Minima Queries
在本文中,我们提出了新的数据结构的两个广泛研究的正交范围搜索问题的变种。首先,我们描述了一个数据结构,支持二维正交范围最小查询$O(n)$空间和$O(\log^{\varepsilon} n)$时间,其中$n$是在数据结构中的点的数量和$\varepsilon$是一个任意小的正常数。先前已知的用于该问题的线性空间解决方案需要$O(\log^{1+\varepsilon} n)$(Chazelle,1988)或$O(\log n\log \log n)$时间(Farzan等人,2012年)。我们的数据结构的修改使用空间$O(n\log \log n)$,并支持范围最小查询的时间$O(\log \log n)$。这两个结果都可以扩展到支持三维五边报告查询。接下来,我们转向四维正交范围报告问题,并提出了一个数据结构,回答查询在最佳的$O(\log n/\log \log n + k)$时间,其中$k$是答案中的点数。这是第一个数据结构,实现了最佳的查询时间为这个问题。我们的结果是通过利用三维浅岩屑的性质。
2020-07-21 cs.CG cs.DS
External Memory Three-Sided Range Reporting and Top-$k$ Queries with Sublogarithmic Updates
提出了一种外部存储器数据结构,用于在点的插入和删除下维护$N$二维点的动态集合,并支持3边范围报告查询和顶- $k$查询,其中顶- $k$查询报告在给定$x$范围内具有最高$y$值的$k$点。对于任何常数$0<\varepsilon\leq \frac{1}{2}$,构建支持摊销的$O(\frac{1}{\varepsilon B^{1-\varepsilon}}\log_B N)$ IO中的更新和摊销的$O(\frac{1}{\varepsilon}\log_B N+K/B)$ IO中的查询的数据结构,其中$B$是外部存储器块大小,$K$是查询的输出大小(对于顶部$k$查询,$K$是$k$和查询间隔中的点数的最小值)。数据结构使用线性空间。更新边界是一个显着的因素$B^{1-\varepsilon}$改善以前的最佳更新边界的两个查询问题,同时保持在相同的查询和空间的界限。
2015-09-28 cs.CG cs.DS
Range Reporting for Moving Points on a Grid
在本文中,我们描述了一种新的数据结构,支持正交范围报告查询的一组点,沿着线性轨迹上的$U\times U$网格。点位于$U\times U$网格上的假设使我们能够与标准动力学模型相比显着减少查询时间。我们的数据结构在$O(\sqrt{\log U/\log \log U}+k)$时间内回答查询,其中$k$表示答案中的点数。以上改进了在无限精度动力学模型中有效的$Ω(\log n)$下限。本文中使用的方法也可能是独立的利益。
2010-02-18 cs.CG cs.DS
Sorted Range Reporting and Range Minima Queries
针对有序范围选择问题,提出一种线性空间的最优权衡方案,预处理时间O(n)、查询时间O(k log k)且输出有序;同时给出一种接近线性时间的简单范围最小值查询方法,兼具实用性与效率。
2023-09-19 cs.DS
I/O-Efficient Dynamic Planar Range Skyline Queries
我们提出了第一个完全动态的最坏情况I/O有效的数据结构,支持平面正交\textit{3-sided range skyline reporting queries}在$\bigO (\log_{2B^ε} n + \frac{t}{B^{1-ε}})$ I/O和更新$\bigO (\log_{2B^ε} n)$ I/O,使用$\bigO (\frac{n}{B^{1-ε}})$块的空间,$n$输入平面点,$t$报告点,和参数$0 \leq ε\leq 1$。我们得到的结果,通过扩展Sundar的优先级队列的消耗,以支持操作\textsc{DeleteMin}和\textsc{CatenateAndAttrite}在$\bigO (1)$最坏情况下的I/O,并在$\bigO(1/B)$摊销的I/O给定的一个恒定数量的块已经加载到主存中。最后,我们表明,任何基于指针的静态数据结构,支持\textit{dominated maxima reporting queries},即困难的特殊情况下,4边天际线查询,在$\bigO(\log^{\bigO(1)}n +t)$最坏的情况下的时间必须占用$Ω(n \frac{\log n}{\log \log n})$空间,通过适应一个类似的下界参数平面4边范围报告查询。
2012-07-10 cs.DS
Parameter-free Locality Sensitive Hashing for Spherical Range Reporting
我们提出了一种用于点集$S$上的球面范围报告的数据结构,即,报告位于给定查询点$q$的半径$r$内的$S$中的所有点。我们的解决方案建立在Indyk和Motwani的局部敏感哈希(LSH)框架之上,该框架代表了高维近邻问题的渐近最佳解决方案。虽然传统的LSH数据结构有几个参数,其最佳值取决于从$q$到$S$的点的距离分布,我们的数据结构是无参数的,除了空间使用,这是由用户配置。然而,它的预期查询时间基本上匹配LSH数据结构的查询时间,LSH的参数已经在给定的空间约束下针对所讨论的数据和查询 * 进行了 * 最优选择。特别是,我们的数据结构提供了一个平滑的权衡之间的硬查询(通常由标准LSH解决)和容易的查询,如报告的点的数量是一个恒定的分数的$S$,或几乎所有的点在$S$远离查询点。相反,已知的数据结构仅基于输入的某些参数来固定LSH参数。该算法的预期查询时间以$O(t (n/t)^ρ)$为界,其中$t$是要报告的点数,而$ρ\in (0,1)$取决于数据分布和所用LSH族的强度。我们进一步提出了一种无参数的方式使用多探测,LSH家庭,支持它,并表明,对于许多这样的家庭,这种方法使我们能够得到预期的查询时间接近$O(n^ρ+t)$,这是最好的,我们可以希望实现使用LSH。以前在高维中最好的运行时间是$Ω(t n^ρ)$。对于许多数据分布,接近$q$的点集的固有维数较低,我们可以给出改…
2016-07-20 cs.DS
Four-Dimensional Dominance Range Reporting in Linear Space
在本文中,我们研究了四维优势范围报告问题,并提出了线性或几乎线性空间使用的数据结构。我们的结果也可以用来回答四维查询,有界的五个方面。本文提出的第一种数据结构使用线性空间,在$O(\log^{1+\varepsilon}n + k\log^{\varepsilon} n)$时间内回答查询,其中$k$是报告的点数,$n$是数据结构中的点数,$\varepsilon$是任意小的正常数。我们的第二个数据结构使用$O(n \log^{\varepsilon} n)$空间,并在$O(\log n+k)$时间内回答查询。这些是这个问题的第一个数据结构,使用线性(分别为)。$O(n\log^{\varepsilon} n)$)空间,并在多对数时间内回答查询。为了比较,以前已知的最快的线性空间或$O(n\log^{\varepsilon} n)$空间数据结构支持在$O(n^{\varepsilon} + k)$时间内的查询(Bentley和Mauer,1980)。我们的结果可以推广到$d\ge 4$维数。例如,我们可以使用$O(n\log^{d-4+\varepsilon}n)$空间在$O(\log\log n (\log n/\log\log n)^{d-3} + k)$时间内回答$d$维优势范围报告查询.与以前已知的最快结果(Chan,2013)相比,我们的数据结构在不增加查询时间的情况下减少…
2020-03-15 cs.CG cs.DS
On Dynamic Range Reporting in One Dimension
我们考虑的问题,保持一个动态的整数集和回答查询的形式:报告一个点(相当于所有点)在一个给定的间隔。范围搜索是整数搜索的一种自然和基本变体,可以使用前导搜索来解决。然而,对于一个RAM的W位字,我们展示了如何执行更新在O(lg w)的时间和O(lglg w)的时间回答查询。更新时间与van Emde Boas结构相同,但查询时间以指数方式更快。现有的下限表明,实现我们的查询时间的前身搜索需要双指数较慢的更新。我们提出了一些论据来支持我们的解决方案是最佳的猜测。我们的解决方案是基于一个新的和有趣的递归的想法,这是“更极端”的范埃姆德博厄斯递归。van Emde Boas在trie中的每条路径上使用简单的递归(重复的减半),而我们在每条路径上使用非平凡的van Emde Boas式递归。尽管如此,我们的算法在从正确的角度看时非常干净。为了实现我们的数据结构的线性空间,我们解决了一个问题,这是独立的利益。我们开发了第一个需要次线性空间的动态完美散列方案。这给出了使用低空间的动态Bloomier滤波器(稀疏向量的近似存储方案)。我们加强以前的下界,以表明这些结果是最优的。
2005-02-05 cs.DS
Space Efficient Multi-Dimensional Range Reporting
我们提出了一个数据结构,支持三维范围报告查询在$O(\log \log U + (\log \log n)^3+k)$时间和使用$O(n\log^{1+\eps} n)$空间,其中$U$是宇宙的大小,$k$是答案中的点数,和$\eps$是一个任意常数。这个结果改进了Alstrup、Brodal和Rauhe的数据结构使用$O(n\log^{1+\eps} n)$空间并支持$O(\log n+k)$时间查询的Nekrich(SoCG'07)的数据结构,使用$O(n\log^{3} n)$空间并支持$O(\log \log U + (\log \log n)^2 + k)$时间查询的Nekrich的数据结构,和Afshani的数据结构(ESA'08)它使用$O(n\log^{3} n)$空间,也支持$O(\log \log U + (\log \log n)^2 + k)$时间查询,但依赖于预处理阶段的随机化。我们的结果使我们能够显着减少空间使用的最快的以前已知的静态和增量$d$维数据结构,$d\geq 3$,在查询时间增加了一个可以忽略不计的$O(\log \log n)$因素的成本。
2009-04-24 cs.CG cs.DS
Optimal Planar Range Skyline Reporting with Linear Space in External Memory
设P是R^2中的n个点的集合。给定一个矩形Q = [α_1,α_2] x [β_1,β_2],范围天际线查询返回P \cap Q中点的最大值。一个重要的变体是所谓的顶开查询,其中Q是一个3边矩形,其上边缘以y = \infty为基础(即β_2 = \infty)。这些查询在许多数据库应用程序中至关重要。在内部存储器中,广泛的研究致力于设计能够有效地回答这样的查询的数据结构。相比之下,目前还没有明确的了解他们的确切复杂性,在外部存储器。本文提出了几种线性大小的结构,以最佳的I/O成本回答上述查询。我们证明了一个top-open查询可以在O(log_B(n)+ k/B)I/O中解决,其中B是块大小,k是查询结果中的点数。当数据点位于一个U × U网格中,且U ≥ n时,查询代价为O(log log_B(U)+ k/B),当U = O(n)时,查询代价为O(1 + k/B).同样的效率也适用于3边查询,其中Q是右开矩形。然而,如果Q是一个左开或下开的3边矩形,问题的难度会增加。我们证明了在最坏的情况下,任何线性大小的结构必须执行Ω((n/B)^ \eps + k/B)I/O来解决这样的查询,其中\eps > 0可以是任意小的常数。事实上,左开和右开查询和一般(4边)查询一样困难,我们给出了一个线性大小的结构,查询时间为O((n/B)^ \eps + k/B)。有趣的是,这表明4侧范围天际…
2013-07-16 cs.DS
Fully Retroactive Approximate Range and Nearest Neighbor Searching
我们描述了完全追溯的动态数据结构的近似范围报告和近似最近邻报告。我们将展示如何维护,任何积极的常数$d$,一组$n$点在$\R^d$索引的时间,这样我们就可以执行插入或删除在时间轴中的任何一点在$O(\log n)$摊销时间。对于任何小的常量$ε>0$,我们支持$(1+ε)$ -在$O(\log n + k)$时间中的时间轴的任何点的近似范围报告查询,其中$k$是输出大小。我们还展示了如何回答$(1+ε)$ -近似最近邻查询的任何点在过去或现在的$O(\log n)$时间。
2011-09-01 cs.CG cs.DS
I/O-Efficient Data Structures for Colored Range and Prefix Reporting
受信息检索应用的启发,我们考虑了秩空间中的一维着色范围报告问题。目标是为集合C_1,...,C_m \subseteq {1,.,sigma},其支持以下类型的查询:给定索引a、b,报告集合Union_{a <= i <= b} C_i。我们在I/O模型中研究了这个问题,并证明了存在一个最优线性空间数据结构,它能在O(1+k/B)I/O中回答查询,其中k表示输出大小,B表示磁盘块大小.事实上,我们得到了相同的三边正交范围报告的更难的问题。在这个问题中,我们要对秩空间中的一组n个二维点进行预处理,使得可以报告形式为[x_1,x_2] x(-infinity,y]的查询矩形内的所有点。这个问题的最佳前界要么是O(n lg^2_Bn)空间和O(1+k/B)查询I/O,要么是O(n)空间和O(lg^(h)_Bn +k/B)查询I/O,其中lg^(h)_Bn是以B为底的对数迭代h次,对于任何常数整数h。前面的边界都是在不可分割假设下实现的,而我们的解决方案利用了底层机器的全部功能。因此,打破不可分割性假设为我们提供了更清晰和最优的边界。我们的研究结果也意味着一个最佳的解决方案,下面的彩色前缀报告问题。给定一组字符串S,每个磁盘块的长度为O(1),函数c:S -> 2^{1,.,sigma},支持以下类型的查询:给定字符串p,报告集合Union_{x in S intersection p*}…
2011-04-15 cs.DS cs.IR
Subquadratic Dynamic Path Reporting in Directed Graphs Against an Adaptive Adversary
研究了动态有向图的可达性和最短路问题。而代数动态数据结构支持边缘更新和可达性/距离查询已经知道了相当长的时间,他们不,一般来说,允许报告的基础路径在相同的时间范围内,特别是对自适应对手。在本文中,我们开发了第一个已知的完全动态的可达性数据结构的工作对自适应对手和支持边缘更新和路径查询两个自然变量:(1)点对点路径报告,和(2)单源可达性树报告。对于DAG中的点对点查询,我们实现了$O(n^{1.529})$最坏情况下的更新和查询边界,而对于DAG中的树报告,最坏情况下的边界是$O(n^{1.765})$。更重要的是,我们展示了如何提升这些算法的工作在一般的图形上的成本增加的界限,以$n^{1+5/6+o(1)}$,使更新时间摊销。在实现这一点的过程中,我们得到了两个有趣的子结果。我们给次二次全动态算法的拓扑顺序(在一个DAG),和强连通组件。据我们所知,这样的算法以前没有被描述过。此外,我们提供了确定性的增量数据结构的可达性和最短路径,处理边缘插入和报告次二次最坏情况下的时间范围内的相应路径。对于可达性和加权有向图中的$(1+ε)$ -近似最短路径,这些边界与完全动态可达性的最佳已知动态矩阵逆随机边界相匹配[v.d.Brand,Nanongkai和Saranurak,FOCS'19]。对于未加权图中的精确最短路径,在增量设置中获得的界限多项式地改进在完全动态设置中的相应的最佳已知的…
2022-03-31 cs.DS
Efficient Reporting of Top-k Subset Sums
“子集和问题”是一个非常著名的NP完全问题。在这项工作中,top-k变化的“子集和问题”被认为是。这个问题在推荐系统中有着广泛的应用,在推荐系统中,需要的不是k个最好的对象,而是具有最低(或最高)总得分的k个最好的对象子集。给定一个n个实数的输入集R和一个正整数k,我们的目标是生成R的k个最佳子集,使得它们的元素之和最小化。我们的解决方案方法是基于构建一个元数据结构G为给定的n。G的每个节点存储大小为n的位向量,从中可以检索R的子集。这里证明了不需要构造整个图G。为了回答一个查询,只需要隐式遍历G的所需部分就足够了,这显然摆脱了预处理步骤,从而减少了整体的时间和空间需求。然后,提出了一种改进的算法来生成每个子集递增,它表明,它是可能的,以消除显式存储的位向量。这不仅提高了空间要求,而且提高了渐近时间复杂度。最后,我们的算法,只报告前k子集和的变化已与现有的算法相比,这表明我们的算法在时间和空间要求方面表现得更好,由一个常数因子。
2021-08-25 cs.CC cs.DS
Dynamic Unit-Disk Range Reporting
本文研究动态单位圆盘范围报告问题,通过提出圆弧浅切割算法将查询时间从 O(log^2 n/log log n+k) 改进为 O(log n+k),同时保持更新复杂度不变,并进一步优化了动态单位圆盘范围空查询的更新时间与查询时间。
2024-12-30 cs.CG cs.DS
Internal Dictionary Matching
我们介绍的数据结构回答查询的出现模式从一个给定的字典$\mathcal{D}$在片段的一个给定的字符串$T$的长度$n$。字典是内部的,因为$\mathcal{D}$中的每个模式都是作为$T$的一个片段给出的。这样,$\mathcal{D}$占用的空间与模式$d=|\mathcal{D}|$的数量成比例,而不是它们的总长度,后者可能是$Θ(n\cdot d)$。特别是,我们考虑以下类型的查询:报告和计数的所有出现的模式从$\mathcal{D}$在一个片段$T[i..j]$和报告不同的模式从$\mathcal{D}$发生在$T[i..j]$。我们将展示如何构建,在$\mathcal{O}((n+d) \log^{\mathcal{O}(1)} n)$的时间,回答这些查询的时间$\mathcal{O}(\log^{\mathcal{O}(1)} n+|output|)$的数据结构。计数模式的情况更加复杂,需要将局部一致性解析与正交范围搜索相结合。另一方面,报告不同的模式,使用字符串中最大重复的结构。最后,我们提供了紧-次多项式因子-上界和下界的情况下,一个动态字典。
2019-09-25 cs.DS
Simplex Range Searching Revisited: How to Shave Logs in Multi-Level Data Structures
我们重新讨论了计算几何中的单纯形范围搜索的经典问题和相关问题。我们提出了一个新的结果,提高了以前的界限由多个对数因子,是由使用多级数据结构。重点包括:$\bullet$对于一组$n$点在一个恒定的维度$d$,我们给数据结构与$O(n^d)$(或稍好)的空间,可以回答最佳的$O(\log n)$时间和最佳的$O(\log n + k)$时间,其中$k$表示的输出大小的单纯形范围计数查询。对于半群范围搜索,我们得到了$O(n^d\mathop{\rm polylog}n)$空间的$O(\log n)$查询时间。Matoušek在近三十年前提出的具有类似空间边界的先前数据结构具有$O(\log^{d+1}n)$或$O(\log^{d+1}n + k)$查询时间。$\bullet$对于一组$n$单形在一个恒定的维度$d$,我们给出了数据结构与$O(n)$空间,可以回答刺计数查询(计数包含一个查询点的单形的数量)在$O(n^{1-1/d})$时间,刺报告查询在$O(n^{1-1/d}+k)$时间。以前的数据结构在空间和查询时间方面有额外的$\log^d n$因子。对于二维$n$(可能相交)线段的集合,给出了一种$O(n)$空间的数据结构,该数据结构可以在$O(\sqrt{n})$时间内回答射线射击查询。这改进了Wang最近的数据结构[SoCG'20],具有$O(n\log n)$空间和$O(…
2022-10-20 cs.CG cs.DS