## Persistent Predecessor Search and Orthogonal Point Location on the Word RAM

Citations: | 7 - 4 self |

### BibTeX

@MISC{Chan_persistentpredecessor,

author = {Timothy M. Chan},

title = {Persistent Predecessor Search and Orthogonal Point Location on the Word RAM},

year = {}

}

### OpenURL

### Abstract

We answer a basic data structuring question (for example, raised by Dietz and Raman back in SODA 1991): can van Emde Boas trees be made persistent, without changing their asymptotic query/update time? We present a (partially) persistent data structure that supports predecessor search in a set of integers in {1,..., U} under an arbitrary sequence of n insertions and deletions, with O(log log U) expected query time and expected amortized update time, and O(n) space. The query bound is optimal in U for linear-space structures and improves previous near-O((log log U) 2) methods. The same method solves a fundamental problem from computational geometry: point location in orthogonal planar subdivisions (where edges are vertical or horizontal). We obtain the first static data structure achieving O(log log U) worst-case query time and linear space. This result is again optimal in U for linear-space structures and improves the previous O((log log U) 2) method by de Berg, Snoeyink, and van Kreveld (1992). The same result also holds for higherdimensional subdivisions that are orthogonal binary space partitions, and for certain nonorthogonal planar subdivisions such as triangulations without small angles. Many geometric applications follow, including improved query times for orthogonal range reporting for dimensions ≥ 3 on the RAM. Our key technique is an interesting new van-Emde-Boas–style recursion that alternates between two strategies, both quite simple.

### Citations

9158 | Introduction to Algorithms
- Cormen, Leiserson, et al.
- 1998
(Show Context)
Citation Context ...sertions and deletions in O(log log U) expected time with randomization. The importance of van Emde Boas trees is reflected, for instance, by its inclusion in the latest edition of a popular textbook =-=[25]-=-. In this paper, we address some basic questions about such trees. Very roughly put: is there a persistent analog of van Emde Boas trees? is there a twodimensional equivalent of van Emde Boas trees? P... |

1064 |
Computational Geometry: Algorithms and Applications
- Berg, Kreveld, et al.
- 2000
(Show Context)
Citation Context ...ntal line segments. Planar point location is one of the central problems in computational geometry. Many different methods with O(log n) query time and O(n) space have been proposed in the literature =-=[15, 56, 59]-=-. On the word RAM, Chan and Pǎtra¸scu [20] were the first to obtain sublogarithmic query time O(min{ √ log U/ log log U, log n/ log log n}) with linear space for arbitrary, nonorthogonal planar subdiv... |

403 | Applications of random sampling in computational geometry ii
- Clarkson
- 1988
(Show Context)
Citation Context ...the subset of all ni rectangles in S that intersect γi (i.e., the conflict list of γi), with T1(ni) total update time, S1(ni) space, and Q1(ni) query time. By a standard analysis of Clarkson and Shor =-=[24]-=-, ∑ i ni ≤ O(n) and ni ≤ O((n/r) log r) with probability exceeding a positive constant. If these conditions fail, we rebuild from scratch; the expected number of trials is O(1). With this approach, we... |

296 |
Triangulating a Simple Polygon in Linear Time
- Chazelle
- 1991
(Show Context)
Citation Context ...O(n). Resetting r = ⌊ n/ log 11 U ⌋ gives T (n) = O(n). We have assumed that a vertical decomposition of the subdivision is given. If not, it can be constructed in linear time by Chazelle’s algorithm =-=[23]-=- if the subdivision is connected, and O(n log log U) time otherwise by a sweep-line algorithm using 1-d dynamic van Emde Boas trees. The O(n log log U) term can be reduced to O(n log log n), by using ... |

257 | Making data structures persistent
- Driscoll, Sarnak, et al.
- 1986
(Show Context)
Citation Context ...alent of van Emde Boas trees? Persistent predecessor search. Persistence has been a frequently studied topic in data structures since the seminal papers by Sleator and Tarjan [58] and Driscoll et al. =-=[31]-=-. A partially persistent data structure is one that supports updates and allows queries to be made to past versions of the data structure. (In this paper we will not consider fully persistent data str... |

202 |
E.: Design and implementation of an efficient priority queue
- Boas, Kaas, et al.
- 1976
(Show Context)
Citation Context ...rting for dimensions ≥ 3 on the RAM. Our key technique is an interesting new van-EmdeBoas–style recursion that alternates between two strategies, both quite simple. 1 Introduction Van Emde Boas trees =-=[33, 34, 61]-=- are fundamental data structures that support predecessor searches in O(log log U) time on the word RAM with O(n) space, when the n elements of the given set S come from a bounded integer universe {1,... |

164 |
Trans-dichotomous Algorithms for Minimum Spanning Trees and Shortest Paths
- Fredman, Willard
- 1994
(Show Context)
Citation Context ...ecursive strategies (see Section 2). Our solution to persistent predecessor search builds on these strategies further (see Section 3), but is more theoretical: it invokes fusion trees or atomic heaps =-=[38, 39]-=- at some point, and requires additional new ideas concerning monotone list labeling, possibly of independent interest. Applications. Orthogonal planar point location is a very fundamental problem in c... |

156 |
Two Algorithms for Maintaining Order in a List
- Dietz, Sleator
- 1987
(Show Context)
Citation Context ...ct so long as f is a monotone labeling, i.e., for every y1, y2 ∈ D with y1 < y2, f[y1] < f[y2] at all times. Monotone list labeling is a well-studied problem. For example, there are simple algorithms =-=[12, 26, 29, 46]-=- that can maintain a monotone labeling of D, under insertions to D, where the labels are integers bounded by n O(1) , and each insertion requires only O(log n) amortized number of label changes. (The ... |

152 |
Data structures for on-line update of minimum spanning trees, with applications
- Frederickson
- 1985
(Show Context)
Citation Context ...h T0(n), S0(n) = O(n log O(1) U) preprocessing time and space and Q0(n) = O(log log U) query time. For the last step in Section 2.4 to lower space and preprocessing time, we use known tree separators =-=[36]-=-: in any binary tree with O(n) nodes, there exist r edges whose removal leaves connected components (subtrees) of size O(n/r), where each subtree is adjacent to O(1) other subtrees; the subtrees can b... |

151 |
Surpassing the information theoretic bound with fusion trees
- Fredman, Willard
- 1993
(Show Context)
Citation Context ...og U/ log log log U) (see Section 3.3). Note that if we start with the other known predecessor-search bounds O(logw n) and O( √ log n/ log log n) attained by fusion trees and exponential search trees =-=[9, 10, 11, 38, 55]-=-, the repeated rounds of space reduction only increases the query bound by an additive log log n term, rather than a log log n factor, because these functions grow sufficiently rapidly in n (see Secti... |

133 | Dynamic perfect hashing: upper and lower bounds
- Dietzfelbinger, Karlin, et al.
- 1994
(Show Context)
Citation Context ...t j be the value of fi[⌊y/L⌋] at time x, and recursively query the i-th bottom data structure for the point (x, jL + (y mod L)). Membership in D can be decided in O(1) time by dynamic perfect hashing =-=[30]-=-; each update in D takes O(1) expected amortized time. By (b), we can compute i and j in line 2 by performing predecessor search over at most n ′ = O(log n) time values. This takes O(1+log w n ′ ) = O... |

123 |
Fast algorithms for shortest paths in planar graphs, with applications
- Frederickson
- 1987
(Show Context)
Citation Context ....3). It is more convenient now to consider the point location problem in the vertical decomposition V of a given subdivision. By applying a multiple-components version of the planar separator theorem =-=[37]-=- to the dual of V, there exist r separator cells of V whose removal leaves connected components each with at most O((n/r) 2 ) cells. 1 Build a point-location data structure for the subdivision induced... |

114 |
Emde Boas. Preserving order in a forest in less than logarithmic time and linear space
- van
- 1977
(Show Context)
Citation Context ...rting for dimensions ≥ 3 on the RAM. Our key technique is an interesting new van-EmdeBoas–style recursion that alternates between two strategies, both quite simple. 1 Introduction Van Emde Boas trees =-=[33, 34, 61]-=- are fundamental data structures that support predecessor searches in O(log log U) time on the word RAM with O(n) space, when the n elements of the given set S come from a bounded integer universe {1,... |

107 | Filtering search: a new approach to query-answering
- Chazelle
- 1986
(Show Context)
Citation Context ...orizontal fat triangles in 3-d, we can build an O(n log 1+ε n)-space data structure so that vertical ray shooting queries can be answered in O(log n) time. Part (a) follows from Chazelle’s hive graph =-=[22]-=-; the 1-d persistent analog will be addressed later in Section 4.3. In (b), de Berg et al. obtained O((log log U) 3 ) query time in 3-d using the 2-d case as a subroutine; our improvement thus gives O... |

92 |
Maintaining order in a linked list
- DIETZ
- 1982
(Show Context)
Citation Context ...ct so long as f is a monotone labeling, i.e., for every y1, y2 ∈ D with y1 < y2, f[y1] < f[y2] at all times. Monotone list labeling is a well-studied problem. For example, there are simple algorithms =-=[12, 26, 29, 46]-=- that can maintain a monotone labeling of D, under insertions to D, where the labels are integers bounded by n O(1) , and each insertion requires only O(log n) amortized number of label changes. (The ... |

77 | Internet packet filter management and rectangle geometry
- Eppstein, Muthukrishnan
- 2001
(Show Context)
Citation Context ...y SIAM. Unauthorized reproduction of this article is prohibited.Note that an easier problem of constructing the lower envelope of n horizontal pre-sorted segments is known to be linear-time solvable =-=[35]-=-. (This problem corresponds to offline priority queues.) Another interesting offline problem is the version of 1-d range search where the updates and queries are all given in advance. Note that in the... |

68 | New data structures for orthogonal range searching
- Alstrup, Brodal, et al.
- 2000
(Show Context)
Citation Context ...ursive strategy is based on a simple idea—build a uniform grid. Although this may sound commonplace (grid-based approaches have been used in some data structures for orthogonal range searching, e.g., =-=[5]-=-), the way we apply the idea to point location is original, to the author’s knowledge. Specifically, we use a grid with ⌈W/K⌉ rows and ⌈H/L⌉ columns for some parameters K and L. Column i refers to the... |

63 | Two simplified algorithms for maintaining order in a list
- Bender, Cole, et al.
- 2002
(Show Context)
Citation Context ...ct so long as f is a monotone labeling, i.e., for every y1, y2 ∈ D with y1 < y2, f[y1] < f[y2] at all times. Monotone list labeling is a well-studied problem. For example, there are simple algorithms =-=[12, 26, 29, 46]-=- that can maintain a monotone labeling of D, under insertions to D, where the labels are integers bounded by n O(1) , and each insertion requires only O(log n) amortized number of label changes. (The ... |

57 | Optimal bounds for the predecessor problem and related problems
- Beame, Fich
(Show Context)
Citation Context ...orted by NSERC. U = O(2w1+w2 ) for the purpose of comparisons). In terms of U, the O(log log U) time bound is known to be tight for predecessor search for any data structure with O(n polylog n) space =-=[11, 55]-=-. Van Emde Boas trees can also be dynamized to support insertions and deletions in O(log log U) expected time with randomization. The importance of van Emde Boas trees is reflected, for instance, by i... |

52 | Planar separators and parallel polygon triangulation
- Goodrich
- 1995
(Show Context)
Citation Context ...g time or O(n log n) deterministic time [41]. The data structure in Section 2.3 therefore has preprocessing time T0(n) ≤ O(n log 11 U). In Section 2.4, the separator can be constructed in linear time =-=[4, 40]-=-. The classical point-location data structure by Kirkpatrick [49] has T1(ni) = O(ni) preprocessing time. The total preprocessing time is T (n) ≤ T0(r) + ∑ (2.6) T1(ni) + O(n). Resetting r = ⌊ n/ log 1... |

50 |
A sparse table implementation of priority queues
- Itai, Konheim, et al.
- 1981
(Show Context)
Citation Context |

49 | Marked ancestor problems
- Alstrup, Husfeldt, et al.
- 1998
(Show Context)
Citation Context ... segments subject to insertions/deletions of segments, there is an Ω(log n/ log log n) query lower bound for O(polylog n) update time, even when U = n, by a reduction from the marked ancestor problem =-=[7]-=-. In view of Corollary 4.2 and Theorem 4.1, can the 3-d orthogonal point location for arbitrary box subdivisions of size n (or, more generally, a collection of n disjoint boxes) be solved in O(log log... |

39 | Faster deterministic sorting and searching in linear space
- Andersson
- 1996
(Show Context)
Citation Context ...og U/ log log log U) (see Section 3.3). Note that if we start with the other known predecessor-search bounds O(logw n) and O( √ log n/ log log n) attained by fusion trees and exponential search trees =-=[9, 10, 11, 38, 55]-=-, the repeated rounds of space reduction only increases the query bound by an additive log log n term, rather than a log log n factor, because these functions grow sufficiently rapidly in n (see Secti... |

36 | Pagh: Deterministic Dictionaries
- Hagerup, Miltersen, et al.
- 2001
(Show Context)
Citation Context ... is at most O(n log n) (or O(n) if one is careful). The “horizontal” entries can be set similarly. In Section 2.2, hashing requires linear expected preprocessing time or O(n log n) deterministic time =-=[41]-=-. The data structure in Section 2.3 therefore has preprocessing time T0(n) ≤ O(n log 11 U). In Section 2.4, the separator can be constructed in linear time [4, 40]. The classical point-location data s... |

34 | Closest-point problems simplified on the ram
- Chan
- 2002
(Show Context)
Citation Context ...yper)rectangles; and a number of researchers [8, 17] investigated approximate nearest neighbor search in constant dimensions, though this approximate problem turns out to be directly reducible to 1-d =-=[18]-=-. Although many applications and variations of van Emde Boas trees have appeared in the literature, our log log result requires a truly new generalization. Still, our final solution to orthogonal 2-d ... |

33 | Linear size binary space partitions for uncluttered scenes
- Berg
(Show Context)
Citation Context ... this case and described an O(log n) query algorithm. The BSP case is important as it includes point location for k-d trees and quadtrees, which are useful in approximate nearest neighbor search; see =-=[14]-=- for other applications. Any set of disjoint boxes, or any orthogonal subdivision, can be refined into a BSP, although the size can increase considerably in the worst case; see [32, 44, 53, 60] for co... |

32 |
Fully persistent arrays
- Dietz
- 1989
(Show Context)
Citation Context ...ly, any data structure, abstracted in the form of an array, can be made persistent by adding an extra level of van Emde Boas trees storing time values, with a log log factor slow-down; in fact, Dietz =-=[27]-=- has shown how to achieve full persistence in this setting. Driscoll et al. [31] has described another general transformation without the slow-down, but under a bounded fan-out assumption that does no... |

31 |
Deterministic sorting in O(n log log n) time and linear space
- Han
- 2002
(Show Context)
Citation Context ...ted, and O(n log log U) time otherwise by a sweep-line algorithm using 1-d dynamic van Emde Boas trees. The O(n log log U) term can be reduced to O(n log log n), by using a word-RAM sorting algorithm =-=[42]-=- first to normalize coordinates to {1, . . . , n}. Theorem 2.1. Given an orthogonal subdivision of size n whose coordinates are from {1, . . . , U}, we can build i 1136 Copyright © by SIAM. Unauthoriz... |

28 |
Integer sorting in O(n √ log log n) expected time and linear space
- Han, Thorup
(Show Context)
Citation Context ...t for each query point). An O(n log log n) upper bound is obvious, by van Emde Boas trees. Can the problem be solved in the same time as integer sorting (currently O(n √ log log n) with randomization =-=[43]-=-)? Or, more challengingly, if the coordinates have been pre-sorted (i.e., normalized to {1, . . . , n}), can the problem be solved in O(n) time? 1143 Copyright © by SIAM. Unauthorized reproduction of ... |

27 | M.: Dynamic ordered sets with exponential search trees
- Andersson, Thorup
- 2007
(Show Context)
Citation Context ...og U/ log log log U) (see Section 3.3). Note that if we start with the other known predecessor-search bounds O(logw n) and O( √ log n/ log log n) attained by fusion trees and exponential search trees =-=[9, 10, 11, 38, 55]-=-, the repeated rounds of space reduction only increases the query bound by an additive log log n term, rather than a log log n factor, because these functions grow sufficiently rapidly in n (see Secti... |

24 | Linear algorithms for partitioning embedded graphs of bounded genus
- Aleksandrov, Djidjev
- 1996
(Show Context)
Citation Context ...g time or O(n log n) deterministic time [41]. The data structure in Section 2.3 therefore has preprocessing time T0(n) ≤ O(n log 11 U). In Section 2.4, the separator can be constructed in linear time =-=[4, 40]-=-. The classical point-location data structure by Kirkpatrick [49] has T1(ni) = O(ni) preprocessing time. The total preprocessing time is T (n) ≤ T0(r) + ∑ (2.6) T1(ni) + O(n). Resetting r = ⌊ n/ log 1... |

22 |
Persistence, amortization and randomization
- Dietz, Raman
- 1991
(Show Context)
Citation Context ...Known techniques can give around O((log log U) 2 ) query and update time, and the challenge is to obtain an O(log log U) bound. This problem was explicitly mentioned, for instance, by Dietz and Raman =-=[28]-=- at SODA exactly two decades ago (and might have dated back even further). 1131 Copyright © by SIAM. Unauthorized reproduction of this article is prohibited.We solve this open problem: we provide an ... |

20 | Exponential structures for efficient cacheoblivious algorithms
- Bender, Cole, et al.
- 2002
(Show Context)
Citation Context ... straightforward to adapt our method to get an improved O(log 2 log B U) query cost. In fact, our method works in the cache-oblivious model (in Section 2.4, we can use a bound Q1(n) = O(log B n) from =-=[13]-=-). 4.2 Point location in higher-dimensional orthogonal BSPs. We now show that our planar point location method from Section 2 can be extended to higher dimensions in one important special case: when t... |

20 | Two-dimensional and three-dimensional point location in rectangular subdivisions
- Berg, Kreveld, et al.
- 1995
(Show Context)
Citation Context ...g U/ log log U, log n/ log log n}) with linear space for arbitrary, nonorthogonal planar subdivisions with coordinates from {1, . . . , U}. For the orthogonal case, de Berg, van Kreveld, and Snoeyink =-=[16]-=- have earlier obtained an O(log log U) 2 ) query bound with linear space. Our result immediately implies the first optimal O(n)-space data structure for orthogonal planar point location achieving O(lo... |

20 | Binary space partitions for axis-parallel segments, rectangles, and hyperrectangles, Discrete Comput
- Dumitrescu, Mitchell, et al.
(Show Context)
Citation Context ...ighbor search; see [14] for other applications. Any set of disjoint boxes, or any orthogonal subdivision, can be refined into a BSP, although the size can increase considerably in the worst case; see =-=[32, 44, 53, 60]-=- for combinatorial bounds on orthogonal BSPs. Let S be the n interior-disjoint leaf boxes in an orthogonal BSP in IR d where d is a constant. We seek a data structure that can find the box in S contai... |

17 |
On dominance reporting in 3D
- Afshani
- 2008
(Show Context)
Citation Context ...s. We briefly mention some of them below. None of the geometric applications requires Section 3. ✷ 1140 Copyright © by SIAM. Unauthorized reproduction of this article is prohibited.By Afshani’s work =-=[1]-=- on dominance and orthogonal range reporting, which improved on Nekrich’s earlier work [51], Theorem 2.1 immediately implies: Corollary 4.1. For a set of n points in {1, . . . , U} d for a constant d,... |

17 | Optimal static range reporting in one dimension
- Alstrup, Brodal, et al.
- 2001
(Show Context)
Citation Context ...ates and queries are all given in advance. Note that in the on-line setting, 1-d range emptiness queries are known to have lower complexity than predecessor search (O(1) query time in the static case =-=[6]-=-, and O(log log log U) in the dynamic case with polylogarithmic update time [50]). The offline problem is equivalent to another basic geometric problem, orthogonal 2-d segment intersection: report the... |

12 | Efficient regular data structures and algorithms for location and proximity problems
- Amir, Efrat, et al.
- 1999
(Show Context)
Citation Context ...h in the insertion-only or deletion-only case, with the further restriction U = n; Iacono and Langerman [45] studied orthogonal point location among fat (hyper)rectangles; and a number of researchers =-=[8, 17]-=- investigated approximate nearest neighbor search in constant dimensions, though this approximate problem turns out to be directly reducible to 1-d [18]. Although many applications and variations of v... |

11 | M.: Transdichotomous results in computational geometry, I: Point location in sublogarithmic time
- Chan, Pătraşcu
(Show Context)
Citation Context ...ere labels are bounded by nO(1) and each element changes labels at most a polylogarithmic number of times. An interesting direction is to explore offline (or batched) query problems, in the spirit of =-=[19, 21]-=-. The version of 1-d persistent predecessor search where the updates and queries are all given in advance is equivalent to the version of orthogonal 2-d point location where n query points are given i... |

10 | Counting inversions, offline orthogonal range counting, and related problems
- Chan, Pătraşcu
- 2010
(Show Context)
Citation Context ...ere labels are bounded by nO(1) and each element changes labels at most a polylogarithmic number of times. An interesting direction is to explore offline (or batched) query problems, in the spirit of =-=[19, 21]-=-. The version of 1-d persistent predecessor search where the updates and queries are all given in advance is equivalent to the version of orthogonal 2-d point location where n query points are given i... |

9 | Orthogonal range reporting in three and higher dimensions
- Afshani, Arge, et al.
- 2009
(Show Context)
Citation Context ...e previous query bounds by a log log factor and are the best query bounds known among data structures with O(n polylog n) space on the RAM (results stated in Afshani, Arge, and Larsen’s recent papers =-=[2, 3]-=- are for the pointer machine model or I/O model). Our query bound for the d = 4 case— O(log n + k)—looks especially attractive and is optimal in a comparison model that permits (log n)-bit RAM operati... |

8 | Orthogonal range reporting: Query lower bounds, optimal structures in 3d, and higher dimensional improvements
- Afshani, Arge, et al.
- 2010
(Show Context)
Citation Context ...e previous query bounds by a log log factor and are the best query bounds known among data structures with O(n polylog n) space on the RAM (results stated in Afshani, Arge, and Larsen’s recent papers =-=[2, 3]-=- are for the pointer machine model or I/O model). Our query bound for the d = 4 case— O(log n + k)—looks especially attractive and is optimal in a comparison model that permits (log n)-bit RAM operati... |

5 | Dynamic point location in fat hyperrectangles with integer coordinates
- Iacono, Langerman
(Show Context)
Citation Context ...nown in limited special cases only: Dietz and Raman [28] considered persistent predecessor search in the insertion-only or deletion-only case, with the further restriction U = n; Iacono and Langerman =-=[45]-=- studied orthogonal point location among fat (hyper)rectangles; and a number of researchers [8, 17] investigated approximate nearest neighbor search in constant dimensions, though this approximate pro... |

3 |
Towards optimal ɛ-approximate nearest neighbor algorithms
- Cary
- 1996
(Show Context)
Citation Context ...h in the insertion-only or deletion-only case, with the further restriction U = n; Iacono and Langerman [45] studied orthogonal point location among fat (hyper)rectangles; and a number of researchers =-=[8, 17]-=- investigated approximate nearest neighbor search in constant dimensions, though this approximate problem turns out to be directly reducible to 1-d [18]. Although many applications and variations of v... |

3 | Binary space partitions of orthogonal subdivisions
- Hershberger, Suri, et al.
(Show Context)
Citation Context ...ighbor search; see [14] for other applications. Any set of disjoint boxes, or any orthogonal subdivision, can be refined into a BSP, although the size can increase considerably in the worst case; see =-=[32, 44, 53, 60]-=- for combinatorial bounds on orthogonal BSPs. Let S be the n interior-disjoint leaf boxes in an orthogonal BSP in IR d where d is a constant. We seek a data structure that can find the box in S contai... |