We consider the problem of maintaining a dynamic set of integers and answering queries of the form: report a point (equivalently, all points) in a given interval. Range searching is a natural and fundamental variant of integer search, and can be solved using predecessor search. However, for a RAM with w-bit words, we show how to perform updates in O(lg w) time and answer queries in O(lglg w) time. The update time is identical to the van Emde Boas structure, but the query time is exponentially faster. Existing lower bounds show that achieving our query time for predecessor search requires doubly-exponentially slower updates. We present some arguments supporting the conjecture that our solution is optimal.
Our solution is based on a new and interesting recursion idea which is "more extreme" that the van Emde Boas recursion. Whereas van Emde Boas uses a simple recursion (repeated halving) on each path in a trie, we use a nontrivial, van Emde Boas-like recursion on every such path. Despite this, our algorithm is quite clean when seen from the right angle. To achieve linear space for our data structure, we solve a problem which is of independent interest. We develop the first scheme for dynamic perfect hashing requiring sublinear space. This gives a dynamic Bloomier filter (an approximate storage scheme for sparse vectors) which uses low space. We strengthen previous lower bounds to show that these results are optimal.
在本文中,我们描述了一个动态的外部存储器的数据结构,支持范围报告查询在三维$O(\log_B^2 N + \frac{k}{B})$ I/O操作,其中$k$是在答案中的点数和$B$是块的大小。这是在$\log_B^{O(1)} N + O(\frac{k}{B})$ I/O中回答三维范围报告查询的第一个动态数据结构。
我们重新审视各种字符串索引问题的范围报告功能,即位置限制的子串搜索,索引子串的差距,索引子串的间隔。我们得到以下主要结果。{itemize}我们将上述每个问题有效地归约到一个新的问题,我们称之为\emph{substring range reporting}。因此,我们统一了以前的工作,表明我们可以限制我们的注意力,而不是单独研究上述每个问题。我们展示了如何解决子串范围报告的最佳查询时间和小空间。结合我们的减少,这导致显着改善上述问题的时空权衡。特别是,对于每个问题,我们获得了最佳的时间查询和$O(n\log^{O(1)} n)$空间,其中$n$是索引字符串的长度的第一个解决方案。我们表明,我们的子串范围报告的技术推广到\emph{substring range counting}和\emph{substring range emptiness}的变种。我们还获得了这些问题的非平凡的时空权衡。{itemize}我们的子字符串范围报告的界限是基于后缀树和范围报告数据结构的新组合。这些减少是简单和通用的,并且可以应用于字符串索引与范围报告的其他组合。
Under the word RAM model, we design three data structures that can be constructed in $O(n\sqrt{\lg n})$ time over $n$ points in an $n \times n$ grid. The first data structure is an $O(n\lg^ε n)$-word structure supporting orthogonal range reporting in $O(\lg\lg n+k)$ time, where $k$ denotes output size and $ε$ is an arbitrarily small constant. The second is an $O(n\lg\lg n)$-word structure supporting orthogonal range successor in $O(\lg\lg n)$ time, while the third is an $O(n\lg^ε n)$-word structure supporting sorted range reporting in $O(\lg\lg n+k)$ time. The query times of these data structu…
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)$时间内回答穿刺查询。
In the orthogonal range reporting problem we must pre-process a set $P$ of multi-dimensional points, so that for any axis-parallel query rectangle $q$ all points from $q\cap P$ can be reported efficiently. In this paper we study the query complexity of multi-dimensional orthogonal range reporting in the pointer machine model. We present a data structure that answers four-dimensional orthogonal range reporting queries in almost-optimal time $O(\log n\log\log n + k)$ and uses $O(n\log^4 n)$ space, where $n$ is the number of points in $P$ and $k$ is the number of points in $q\cap P$ . This is the…
In this paper we present new data structures for two extensively studied variants of the orthogonal range searching problem. First, we describe a data structure that supports two-dimensional orthogonal range minima queries in $O(n)$ space and $O(\log^{\varepsilon} n)$ time, where $n$ is the number of points in the data structure and $\varepsilon$ is an arbitrarily small positive constant. Previously known linear-space solutions for this problem require $O(\log^{1+\varepsilon} n)$ (Chazelle, 1988) or $O(\log n\log \log n)$ time (Farzan et al., 2012). A modification of our data structure uses sp…
We revisit the classic problem of simplex range searching and related problems in computational geometry. We present a collection of new results which improve previous bounds by multiple logarithmic factors that were caused by the use of multi-level data structures. Highlights include the following: $\bullet$ For a set of $n$ points in a constant dimension $d$, we give data structures with $O(n^d)$ (or slightly better) space that can answer simplex range counting queries in optimal $O(\log n)$ time and simplex range reporting queries in optimal $O(\log n + k)$ time, where $k$ denotes the outpu…