Partial match retrieval of multidimensional data
Journal of the ACM (JACM)
The design and analysis of spatial data structures
The design and analysis of spatial data structures
Randomized binary search trees
Journal of the ACM (JACM)
Multidimensional access methods
ACM Computing Surveys (CSUR)
The art of computer programming, volume 3: (2nd ed.) sorting and searching
The art of computer programming, volume 3: (2nd ed.) sorting and searching
Multidimensional binary search trees used for associative searching
Communications of the ACM
Communications of the ACM
Analysis of range search for random k-d trees
Acta Informatica
SIAM Journal on Computing
On the average performance of orthogonal range search in multidimensional data structures
Journal of Algorithms - Analysis of algorithms
A New Method for Balancing Binary Search Trees
ICALP '01 Proceedings of the 28th International Colloquium on Automata, Languages and Programming,
Randomized K-Dimensional Binary Search Trees
ISAAC '98 Proceedings of the 9th International Symposium on Algorithms and Computation
Partial Match Queries in Random k-d Trees
SIAM Journal on Computing
ACM Transactions on Algorithms (TALG)
Journal of Computer and System Sciences
Partial match queries in random quadtrees
Proceedings of the twenty-third annual ACM-SIAM symposium on Discrete Algorithms
Hi-index | 0.00 |
Suppose we have a set of K-dimensional records stored in a general purpose spatial index like a K-d tree. The index efficiently supports insertions, ordinary exact searches, orthogonal range searches, nearest neighbor searches, etc. Here we consider whether we can also efficiently support search by rank, that is, to locate the i-th smallest element along the j-th coordinate. We answer this question in the affirmative by developing a simple algorithm with expected cost $\mathcal O(n^{\alpha(1/K)}\log n)$, where n is the size of the K-d tree and α(1/K)K≥2. The only requirement to support the search by rank is that each node in the K-d tree stores the size of the subtree rooted at that node (or some equivalent information). This is not too space demanding. Furthermore, it can be used to randomize the update algorithms to provide guarantees on the expected performance of the various operations on K-d trees. Although selection in multidimensional data can be solved more efficiently than with our algorithm, those solutions will rely on ad-hoc data structures or superlinear space. Our solution adds to an existing data structure (K-d trees) the capability of search by rank with very little overhead. The simplicity of the algorithm makes it easy to implement, practical and very flexible; however, its correctness and efficiency are far from self-evident. Furthermore, it can be easily adapted to other spatial indexes as well.