Results 1  10
of
11
Geometric Range Searching and Its Relatives
 CONTEMPORARY MATHEMATICS
"... ... process a set S of points in so that the points of S lying inside a query R region can be reported or counted quickly. Wesurvey the known techniques and data structures for range searching and describe their application to other related searching problems. ..."
Abstract

Cited by 256 (40 self)
 Add to MetaCart
... process a set S of points in so that the points of S lying inside a query R region can be reported or counted quickly. Wesurvey the known techniques and data structures for range searching and describe their application to other related searching problems.
External Memory Data Structures
, 2001
"... In many massive dataset applications the data must be stored in space and query efficient data structures on external storage devices. Often the data needs to be changed dynamically. In this chapter we discuss recent advances in the development of provably worstcase efficient external memory dynami ..."
Abstract

Cited by 81 (36 self)
 Add to MetaCart
In many massive dataset applications the data must be stored in space and query efficient data structures on external storage devices. Often the data needs to be changed dynamically. In this chapter we discuss recent advances in the development of provably worstcase efficient external memory dynamic data structures. We also briefly discuss some of the most popular external data structures used in practice.
Optimal External Memory Interval Management
, 2002
"... In this paper we present the external interval tree, an optimal external memory data structure for answering stabbing queries on a set of dynamically maintained intervals. The external interval tree can be used in an optimal solution to the dynamic interval management problem, which is a central pro ..."
Abstract

Cited by 32 (6 self)
 Add to MetaCart
In this paper we present the external interval tree, an optimal external memory data structure for answering stabbing queries on a set of dynamically maintained intervals. The external interval tree can be used in an optimal solution to the dynamic interval management problem, which is a central problem for objectoriented and temporal databases and for constraint logic programming. Part of the structure uses a novel weightbalancing technique for efficient worstcase manipulation of balanced trees of independent interest. The external interval tree, as well at our new balancing technique, have recently been used to develop several efficient external data structures.
Optimal Dynamic Range Searching in Nonreplicating Index Structures
 In Proc. International Conference on Database Theory, LNCS 1540
, 1997
"... We consider the problem of dynamic range searching in tree structures that do not replicate data. We propose a new dynamic structure, called the Otree, that achieves a query time complexity of O(n (d\Gamma1)=d ) on n ddimensional points and an amortized insertion/deletion time complexity of O(l ..."
Abstract

Cited by 26 (2 self)
 Add to MetaCart
We consider the problem of dynamic range searching in tree structures that do not replicate data. We propose a new dynamic structure, called the Otree, that achieves a query time complexity of O(n (d\Gamma1)=d ) on n ddimensional points and an amortized insertion/deletion time complexity of O(log n). We show that this structure is optimal when data is not replicated. In addition to optimal query and insertion/deletion times, the Otree also supports exact match queries in worstcase logarithmic time. 1 Introduction Given a set S of ddimensional points, a range query q is specified by d 1dimensional intervals [q s i ; q e i ], one for each dimension i, and retrieves all points p = (p 1 ; p 2 ; : : : p d ) in S such that h8i 2 f1; : : : ; dg : q s i p i q e i i. This type of searching in multidimensional space has important applications in geographic information systems, image databases, and computer graphics. Several structures such as the range trees [3], Prange trees [29...
Efficient CrossTrees for External Memory
, 1998
"... . We describe efficient methods for organizing and maintaining large multidimensional data sets in external memory. This is particular important as access to external memory is currently several order of magnitudes slower than access to main memory, and current technology advances are likely to make ..."
Abstract

Cited by 21 (1 self)
 Add to MetaCart
. We describe efficient methods for organizing and maintaining large multidimensional data sets in external memory. This is particular important as access to external memory is currently several order of magnitudes slower than access to main memory, and current technology advances are likely to make this gap even wider. We focus particularly on multidimensional data sets which must be kept simultaneously sorted under several total orderings: these orderings may be defined by the user, and may also be changed dynamically by the user throughout the lifetime of the data structures, according to the application at hand. Besides standard insertions and deletions of data, our proposed solution can perform efficiently split and concatenate operations on the whole data sets according to any ordering. This allows the user: (1) to dynamically rearrange any ordering of a segment of data, in a time that is faster than recomputing the new ordering from scratch; (2) to efficiently answer queries rel...
Revised version of "Efficient CrossTrees for External Memory"
, 2000
"... Due to a printing problem, the revised version of our paper [19] has been replaced by the (shorter) submitted version. In this technical report, we include the revised version that has not been published by mistake. In particular, we describe ecient methods for organizing and maintaining large m ..."
Abstract

Cited by 8 (0 self)
 Add to MetaCart
Due to a printing problem, the revised version of our paper [19] has been replaced by the (shorter) submitted version. In this technical report, we include the revised version that has not been published by mistake. In particular, we describe ecient methods for organizing and maintaining large multidimensional data sets in external memory. This is particular important as access to external memory is currently several order of magnitudes slower than access to main memory, and current technology advances are likely to make this gap even wider. We focus particularly on multidimensional data sets which must be kept simultaneously sorted under several total orderings: these orderings may be dened by the user, and may also be changed dynamically by the user throughout the lifetime of the data structures, according to the application at hand. Besides standard insertions and deletions of data, our proposed solution can perform eciently split and concatenate operations on the whole data sets according to any ordering. This allows the user: (1) to dynamically rearrange any ordering of a segment of data, in a time that is faster than recomputing the new ordering from scratch; (2) to eciently answer queries related to the data contained in a particular range of the current orderings. Our solution fully generalizes the notion of Btrees to higher dimensions by carefully combining spacedriven and datadriven partitions. Balancing is easy as we introduce a new multidimensional data structure, the crosstree, that is the cross product of balanced trees. As a result, the crosstree is competitive with other popular index data structures that require linear space (including kd trees, quadtrees, grid les, space lling curves, hBtrees, and Rtrees). Diparti...
Validity Information Retrieval for SpatioTemporal Queries: Theoretical Performance Bounds
 Proc. Symp. Spatial and Temporal Databases (SSTD
, 2003
"... The results of traditional spatial queries (i.e., range search, nearest neighbor, etc.) are usually meaningless in spatiotemporal applications, because they will be invalidated by the movements of query and/or data objects. In practice, a query result R should be accompanied with validity inform ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
The results of traditional spatial queries (i.e., range search, nearest neighbor, etc.) are usually meaningless in spatiotemporal applications, because they will be invalidated by the movements of query and/or data objects. In practice, a query result R should be accompanied with validity information specifying (i) the (future) time T that R will expire, and (ii) the change C of R at time T (so that R can be updated incrementally). Although several algorithms have been proposed for this problem, their worstcase performance is the same as that of sequential scan. This paper presents the first theoretical study on validity queries, and develops indexes and algorithms with attractive I/O complexities.
A general approach for cacheoblivious range reporting and approximate range counting
 Computational Geometry: Theory and Applications
"... We present cacheoblivious solutions to two important variants of range searching: range reporting and approximate range counting. The main contribution of our paper is a general approach for constructing cacheoblivious data structures that provide relative (1+ε)approximations for a general class ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
We present cacheoblivious solutions to two important variants of range searching: range reporting and approximate range counting. The main contribution of our paper is a general approach for constructing cacheoblivious data structures that provide relative (1+ε)approximations for a general class of range counting queries. This class includes threesided range counting, 3d dominance counting, and 3d halfspace range counting. Our technique allows us to obtain data structures that use linear space and answer queries in the optimal query bound of O(logB (N/K)) block transfers in the worst case, where K is the number of points in the query range. Using the same technique, we also obtain the first approximate 3d halfspace range counting and 3d dominance counting data structures with a worstcase query time of O(log (N/K)) in internal memory. An easy but important consequence of our main result is the existence of O(N log N)space cacheoblivious data structures with an optimal query bound of O(logB N+K/B) block transfers for the reporting versions of the above problems. Using standard reductions, these data structures allow us to obtain the first cacheoblivious data structures that use nearlinear space and achieve the optimal query bound for circular range reporting and Knearest neighbour searching in the plane, as well as for orthogonal range reporting in three dimensions. Part of this work was done while visiting Dalhousie University.
Connectivity Oracles for Failure Prone Graphs ∗
"... Dynamic graph connectivity algorithms have been studied for many years, but typically in the most general possible setting, where the graph can evolve in completely arbitrary ways. In this paper we consider a dynamic subgraph model. We assume there is some fixed, underlying graph that can be preproc ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
Dynamic graph connectivity algorithms have been studied for many years, but typically in the most general possible setting, where the graph can evolve in completely arbitrary ways. In this paper we consider a dynamic subgraph model. We assume there is some fixed, underlying graph that can be preprocessed ahead of time. The graph is subject only to vertices and edges flipping “off ” (failing) and “on ” (recovering), where queries naturally apply to the subgraph on edges/vertices currently flipped on. This model fits most real world scenarios, where the topology of the graph in question (say a router network or road network) is constantly evolving due to temporary failures but never deviates too far from the ideal failurefree state. We present the first efficient connectivity oracle for graphs susceptible to vertex failures. Given vertices u and v and a set D of d failed vertices, we can determine if there is a path from u to v avoiding D in time polynomial in d log n. There is a tradeoff in our oracle between the space, which is roughly mn ɛ, for 0 < ɛ ≤ 1, and the polynomial query time, which depends on ɛ. If one wanted to achieve the same functionality with existing data structures (based on edge failures or twin vertex failures) the resulting connectivity oracle would either need exorbitant space (Ω(n d)) or update time Ω(dn), that is, linear in the number of vertices. Our connectivity oracle is therefore the first of its kind. As a byproduct of our oracle for vertex failures we reduce the problem of constructing an edgefailure oracle to 2D range searching over the integers. We show there is an Õ(m)space oracle that processes any set of d failed edges in O(d 2 log log n) time and, thereafter, answers connectivity queries in O(log log n) time. Our update time is exponentially faster than a recent connectivity oracle of Pǎtra¸scu and Thorup for bounded d, but slower as a function of d.
External Memory Geometric Data Structures, Handbook of Massive Data Sets
, 2002
"... Many modern applications store and process datasets much larger than the main memory of even stateoftheart highend machines. Thus massive and dynamically changing datasets often need to be stored in space efficient data structures on external storage devices such as disks. In such cases the Inpu ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
Many modern applications store and process datasets much larger than the main memory of even stateoftheart highend machines. Thus massive and dynamically changing datasets often need to be stored in space efficient data structures on external storage devices such as disks. In such cases the Input/Output (or