Results 1 
6 of
6
Range Searching
, 1996
"... Range searching is one of the central problems in computational geometry, because it arises in many applications and a wide variety of geometric problems can be formulated as a rangesearching problem. A typical rangesearching problem has the following form. Let S be a set of n points in R d , an ..."
Abstract

Cited by 70 (1 self)
 Add to MetaCart
Range searching is one of the central problems in computational geometry, because it arises in many applications and a wide variety of geometric problems can be formulated as a rangesearching problem. A typical rangesearching problem has the following form. Let S be a set of n points in R d , and let R be a family of subsets; elements of R are called ranges . We wish to preprocess S into a data structure so that for a query range R, the points in S " R can be reported or counted efficiently. Typical examples of ranges include rectangles, halfspaces, simplices, and balls. If we are only interested in answering a single query, it can be done in linear time, using linear space, by simply checking for each point p 2 S whether p lies in the query range.
Connected Component and Simple Polygon Intersection Searching
 Proc. 3rd Workshop Algorithms Data Struct., Lecture Notes in Computer Science
, 1993
"... Efficient data structures are given for the following two query problems: preprocess a set P of simple polygons with a total of n edges, so that all polygons of P intersected by a query segment can be reported efficiently, and (ii) preprocess a set S of n segments, so that the connected components ..."
Abstract

Cited by 9 (2 self)
 Add to MetaCart
Efficient data structures are given for the following two query problems: preprocess a set P of simple polygons with a total of n edges, so that all polygons of P intersected by a query segment can be reported efficiently, and (ii) preprocess a set S of n segments, so that the connected components of the arrangement of S intersected by a query segment can be reported quickly. In these problems we do not want to return the polygons or connected components explicitly (i.e., we do not wish to report the segments defining the polygon or the segments lying in the connected components). Instead, we assume that the polygons (or connected components) are labeled and we just want to report their labels. We present data structures of size O(n 1+ffl ) that can answer a query in time O(n 1=2+ffl +k), where k is the output size. If the edges of P (or the segments in S) are orthogonal, the query time can be improved to O(log n + k) using O(n log n) space. We also present data structures that c...
Chromatic Nearest Neighbor Searching: A Query Sensitive Approach
, 1996
"... The nearest neighbor problem is that of preprocessing a set P of n data points in R d so that, given any query point q, the closest point in P to q can be determined efficiently. In the chromatic nearest neighbor problem, each point of P is assigned a color, and the problem is to determine the col ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
The nearest neighbor problem is that of preprocessing a set P of n data points in R d so that, given any query point q, the closest point in P to q can be determined efficiently. In the chromatic nearest neighbor problem, each point of P is assigned a color, and the problem is to determine the color of the nearest point to the query point. More generally, given k 1, the problem is to determine the color occurring most frequently among the k nearest neighbors. The chromatic version of the nearest neighbor problem is used in many applications in pattern recognition and learning. In this paper we present a simple algorithm for solving the chromatic k nearest neighbor problem. We provide a query sensitive analysis, which shows that if the color classes form spatially well separated clusters (as often happens in practice), then queries can be answered quite efficiently. We also allow the user to specify an error bound ffl 0, and consider the same problem in the context of approximate ne...
Categorical Range Queries in Large Databases
 In SSTD’03, LNCS 2750
, 2003
"... In this pape r e int r duce the categor214 (a.k.a. chr omatic) r) ge quer2L (CRQs) in the context oflar1P diskr esident data sets, motivated by the fact that CRQsar conceptually simple and emer4 often in DBMSs. On the basis of spatial data str uctur3N and Rtr4L in par ticular e p r pose a multitr ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
In this pape r e int r duce the categor214 (a.k.a. chr omatic) r) ge quer2L (CRQs) in the context oflar1P diskr esident data sets, motivated by the fact that CRQsar conceptually simple and emer4 often in DBMSs. On the basis of spatial data str uctur3N and Rtr4L in par ticular e p r pose a multitr e index that follo s the br ad concept of augmenting nodes ith additional infor ation to accelerw e quer31P Augmentation is examined ithr espect to maximal/minimal points in subtr15L the pr oper23P of hichar exploited by the pr3 osed sear hing algor6 hm to e#ectively pr une the sear h space. Detailed exper21z  talr esults, ith bothr eal and synthetic data, illust rw e the significant per1z2 ance gains (up to an orer of magnitude) due to the pr4 osed method, compar2 to ther2P lar r ange quer (follo ed by the filter4 g .rN . categor654 and to a naive Rtr ee augmentation method. 1
Abstract Implementing Partial Persistence in ObjectOriented Languages
"... A partially persistent data structure is a data structure which preserves previous versions of itself when it is modified. General theoretical schemes are known (e.g. the fat node method) for making any data structure partially persistent. To our knowledge however no general implementation of these ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
A partially persistent data structure is a data structure which preserves previous versions of itself when it is modified. General theoretical schemes are known (e.g. the fat node method) for making any data structure partially persistent. To our knowledge however no general implementation of these theoretical methods exists to date. This paper evaluates different methods to achieve this goal and presents the first working implementation of partial persistence in the objectoriented language Java. Our approach is transparent, i.e., it allows any existing data structures to become persistent without changing its implementation where all previous solutions require an extensive modification of the code by hand. This transparent property is important in view of the large number of algorithmic results that rely on persistence. Our implementation uses aspectoriented programming, a modularization technique which allows us to instrument the existing code with the needed hooks for the persistence implementation. The implementation is then validated by running benchmarks to analyze both the cost of persistence and of the aspect oriented approach. We also illustrate its applicability by implementing a random binary search tree and making it persistent, and then using the resulting structure to implement a point location data structure in just a few lines. 1