## Cache-Oblivious Planar Orthogonal Range Searching and Counting (2005)

### Cached

### Download Links

- [www.daimi.au.dk]
- [www.cs.au.dk]
- [www.daimi.au.dk]
- DBLP

### Other Repositories/Bibliography

Venue: | In Proc. ACM Symposium on Computational Geometry |

Citations: | 15 - 4 self |

### BibTeX

@INPROCEEDINGS{Arge05cache-obliviousplanar,

author = {Lars Arge and Gerth Stølting Brodal and Morten Laustsen and Rolf Fagerberg},

title = {Cache-Oblivious Planar Orthogonal Range Searching and Counting},

booktitle = {In Proc. ACM Symposium on Computational Geometry},

year = {2005},

pages = {160--169}

}

### OpenURL

### Abstract

We present the first cache-oblivious data structure for planar orthogonal range counting, and improve on previous results for cache-oblivious planar orthogonal range searching. Our range counting structure uses O(N log2 N) space and answers queries using O(logB N) memory transfers, where B is the block size of any memory level in a multilevel memory hierarchy. Using bit manipulation techniques, the space can be further reduced to O(N). The structure can also be modified to support more general semigroup range sum queries in O(logB N) memory transfers, using O(N log2 N) space for three-sided queries and O(N log 2 2 N / log2 log2 N)

### Citations

8543 |
Introduction to Algorithms
- Cormen, Leiserson, et al.
- 1990
(Show Context)
Citation Context ...ternalsmemory algorithm) is measured in terms of the number of memory transfers it performs, as well as the amount of external memory it uses. In the cache-oblivious model, introduced by Frigo et al. =-=[21]-=-, algorithms are described in the RAM model, but are analyzed in the two-level I/O-model. It is assumed that when an algorithm accesses an element that is not stored in cache, the relevant block is au... |

557 | The ubiquitous B-tree
- Comer
- 1979
(Show Context)
Citation Context ...g2 N+ T log ε (2N/T)) time using linear space and in O(log2 N + T) time using O(N log ε N) space, respectively [17, 18]. Refer to a recent survey for further results [2]. In the I/O-model, the B-tree =-=[7, 20]-=- supports one-dimensional range queries in O(logB N + T/B) memory transfers using linear space. In two dimensions, one has to use Θ(N logB N/ logB logB N) space to obtain an O(logB N + T/B) query boun... |

537 |
The input output complexity of sorting and related problems
- Aggarwal, Vitter
- 1988
(Show Context)
Citation Context ...llel rectangle. The corresponding counting problem returns the number of such points. 1.1 Model of computation In the two-level I/O-model (or external-memory model), introduced by Aggarwal and Vitter =-=[3]-=-, the memory hierarchy consists of an internal memory (or cache) of size M and an arbitrarily large external memory partitioned into blocks of size B. An I/O, or memory transfer, transfers one block b... |

379 |
The k–d–b-tree: a search structure for large multidimensional dynamic indexes
- Robinson
- 1981
(Show Context)
Citation Context ...to obtain an O(logB N + T/B) query bound [6, 19]. The external range-tree structure obtains these bounds [6]. If only linear space is used then Θ( √ N/B + T/B) transfers, as obtained by the kd-B tree =-=[24, 27]-=-, is needed to answer a query. For the problem of range counting, the CRB-tree [22], which is an external version of the compressed range tree [18], answers queries in O(logB N) memory transfers and u... |

320 | External Memory Algorithms and Data Structures: Dealing with Massive Data
- Vitter
- 1981
(Show Context)
Citation Context ...queries in O(logB N) memory transfers and uses O(N) space if bit manipulations of pointers and counters are allowed. Refer to recent surveys for further I/Omodel and hierarchical memory model results =-=[4, 28]-=-. Frigo et al. [21] developed cache-oblivious algorithms for sorting, Fast Fourier Transform, and matrix multiplication. Subsequently, a number of other results have been obtained in the cache-oblivio... |

254 |
Organization and maintenance of large ordered indexes
- Bayer, McCreight
- 1972
(Show Context)
Citation Context ...g2 N+ T log ε (2N/T)) time using linear space and in O(log2 N + T) time using O(N log ε N) space, respectively [17, 18]. Refer to a recent survey for further results [2]. In the I/O-model, the B-tree =-=[7, 20]-=- supports one-dimensional range queries in O(logB N + T/B) memory transfers using linear space. In two dimensions, one has to use Θ(N logB N/ logB logB N) space to obtain an O(logB N + T/B) query boun... |

253 | Geometric range searching and its relatives, in
- Agarwal, Erickson
- 1999
(Show Context)
Citation Context ...r orthogonal range queries in O(log2 N+ T log ε (2N/T)) time using linear space and in O(log2 N + T) time using O(N log ε N) space, respectively [17, 18]. Refer to a recent survey for further results =-=[2]-=-. In the I/O-model, the B-tree [7, 20] supports one-dimensional range queries in O(logB N + T/B) memory transfers using linear space. In two dimensions, one has to use Θ(N logB N/ logB logB N) space t... |

133 | Concurrent cache-oblivious B-trees
- Bender, Fineman, et al.
- 2005
(Show Context)
Citation Context ...t al. [21] developed cache-oblivious algorithms for sorting, Fast Fourier Transform, and matrix multiplication. Subsequently, a number of other results have been obtained in the cache-oblivious model =-=[1, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 26]-=-, among them several cache-oblivious B-tree structures with O(logB N) search and update bounds [10, 11, 12, 16, 26]. Several of these structures can also support one-dimensional range searching in O(l... |

132 | A functional approach to data structures and its use in multidimensional searching
- Chazelle
- 1988
(Show Context)
Citation Context ...f the best known structures (for any fixed ε > 0) answer orthogonal range queries in O(log2 N+ T log ε (2N/T)) time using linear space and in O(log2 N + T) time using O(N log ε N) space, respectively =-=[17, 18]-=-. Refer to a recent survey for further results [2]. In the I/O-model, the B-tree [7, 20] supports one-dimensional range queries in O(logB N + T/B) memory transfers using linear space. In two dimension... |

107 | Filtering search: a new approach to query-answering
- Chazelle
- 1986
(Show Context)
Citation Context ...f the best known structures (for any fixed ε > 0) answer orthogonal range queries in O(log2 N+ T log ε (2N/T)) time using linear space and in O(log2 N + T) time using O(N log ε N) space, respectively =-=[17, 18]-=-. Refer to a recent survey for further results [2]. In the I/O-model, the B-tree [7, 20] supports one-dimensional range queries in O(logB N + T/B) memory transfers using linear space. In two dimension... |

79 | External memory data structures
- Arge
- 2002
(Show Context)
Citation Context ...queries in O(logB N) memory transfers and uses O(N) space if bit manipulations of pointers and counters are allowed. Refer to recent surveys for further I/Omodel and hierarchical memory model results =-=[4, 28]-=-. Frigo et al. [21] developed cache-oblivious algorithms for sorting, Fast Fourier Transform, and matrix multiplication. Subsequently, a number of other results have been obtained in the cache-oblivio... |

79 | On TwoDimensional Indexability and Optimal Range Search Indexing
- Arge, Samoladas, et al.
- 1999
(Show Context)
Citation Context ...upports one-dimensional range queries in O(logB N + T/B) memory transfers using linear space. In two dimensions, one has to use Θ(N logB N/ logB logB N) space to obtain an O(logB N + T/B) query bound =-=[6, 19]-=-. The external range-tree structure obtains these bounds [6]. If only linear space is used then Θ( √ N/B + T/B) transfers, as obtained by the kd-B tree [24, 27], is needed to answer a query. For the p... |

78 | Cache-oblivious algorithms
- Prokop
- 1999
(Show Context)
Citation Context ... that enables cache-oblivious range counting queries in O(log B N) memory transfers using O(N log 2 N) space. The layout is a generalization of the layout of the cache oblivious search tree of Prokop =-=[25]-=- to handle non-constant sized secondary structures. In Section 2.3 we then reduce the space to O(N) using standard bit manipulation techniques, assuming that each word contains Ω(log 2 N) bits. 2.1 Ba... |

72 | A locality-preserving cache-oblivious dynamic dictionary
- Bender, Duan, et al.
- 2002
(Show Context)
Citation Context ...t al. [21] developed cache-oblivious algorithms for sorting, Fast Fourier Transform, and matrix multiplication. Subsequently, a number of other results have been obtained in the cache-oblivious model =-=[1, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 26]-=-, among them several cache-oblivious B-tree structures with O(logB N) search and update bounds [10, 11, 12, 16, 26]. Several of these structures can also support one-dimensional range searching in O(l... |

64 | Lower bounds for orthogonal range searching: I. The reporting case
- Chazelle
- 1990
(Show Context)
Citation Context ...upports one-dimensional range queries in O(logB N + T/B) memory transfers using linear space. In two dimensions, one has to use Θ(N logB N/ logB logB N) space to obtain an O(logB N + T/B) query bound =-=[6, 19]-=-. The external range-tree structure obtains these bounds [6]. If only linear space is used then Θ( √ N/B + T/B) transfers, as obtained by the kd-B tree [24, 27], is needed to answer a query. For the p... |

63 | Cache oblivious search trees via binary trees of small height (extended abstract
- Brodal, Fagerberg, et al.
- 2002
(Show Context)
Citation Context ...t al. [21] developed cache-oblivious algorithms for sorting, Fast Fourier Transform, and matrix multiplication. Subsequently, a number of other results have been obtained in the cache-oblivious model =-=[1, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 26]-=-, among them several cache-oblivious B-tree structures with O(logB N) search and update bounds [10, 11, 12, 16, 26]. Several of these structures can also support one-dimensional range searching in O(l... |

57 |
A data structure for orthogonal range queries
- Lueker
- 1978
(Show Context)
Citation Context ...(−∞, xl) × (−∞, yb) Figure 1. Reducing four-sided range counting queries Q = [xl, xr] × [yb, yt] to four two-sided queries; Q = Q1 − Q2 − Q3 + Q4. Our structures are based on a construction of Lueker =-=[23]-=- for range reporting in O(log 2 N + T) time. The basic structure resembling Lueker’s construction [23] is described in Section 2.1. The main contribution of Section 2.2 is then a recursive layout of t... |

40 | Cache oblivious distribution sweeping, in
- Brodal, Fagerberg
(Show Context)
Citation Context |

39 | On the limits of cache-obliviousness, in
- Brodal, Fagerberg
- 2003
(Show Context)
Citation Context |

34 | R.: Funnel heap - a cache oblivious priority queue
- Brodal, Fagerberg
(Show Context)
Citation Context |

31 | Scanning and traversing: maintaining data for traversals in a memory hierarchy
- Bender, Cole, et al.
(Show Context)
Citation Context |

31 |
Optimized predecessor data structures for internal memory
- Rahman, Cole, et al.
- 2001
(Show Context)
Citation Context |

26 | Bkdtree: A dynamic scalable kd-tree
- Procopiuc, Agarwal, et al.
- 2003
(Show Context)
Citation Context ...to obtain an O(logB N + T/B) query bound [6, 19]. The external range-tree structure obtains these bounds [6]. If only linear space is used then Θ( √ N/B + T/B) transfers, as obtained by the kd-B tree =-=[24, 27]-=-, is needed to answer a query. For the problem of range counting, the CRB-tree [22], which is an external version of the compressed range tree [18], answers queries in O(logB N) memory transfers and u... |

22 | Cache-oblivious data structures for orthogonal range searching
- Agarwal, Arge, et al.
- 2003
(Show Context)
Citation Context |

20 |
Exponential structures for cache-oblivious algorithms
- Bender, Cole, et al.
- 2001
(Show Context)
Citation Context |

17 | The cost of cacheoblivious searching
- Bender, Brodal, et al.
- 2003
(Show Context)
Citation Context |

11 |
Cache-oblivious priorityqueue and graph algorithms
- Arge, Bender, et al.
- 2002
(Show Context)
Citation Context |

11 | CRBTree: An Efficient Indexing Scheme for Range-Aggregate Queries
- Govindarajan, Agarwal, et al.
- 2002
(Show Context)
Citation Context ...ains these bounds [6]. If only linear space is used then Θ( √ N/B + T/B) transfers, as obtained by the kd-B tree [24, 27], is needed to answer a query. For the problem of range counting, the CRB-tree =-=[22]-=-, which is an external version of the compressed range tree [18], answers queries in O(logB N) memory transfers and uses O(N) space if bit manipulations of pointers and counters are allowed. Refer to ... |