Computational geometry: an introduction
Computational geometry: an introduction
Plane-sweep solves the closest pair problem elegantly
Information Processing Letters
Algorithms for diametral pairs and convex hulls that are optimal, randomized, and incremental
SCG '88 Proceedings of the fourth annual symposium on Computational geometry
A new universal class of hash functions and dynamic hashing in real time
Proceedings of the seventeenth international colloquium on Automata, languages and programming
Randomized multidimensional search trees (extended abstract): dynamic sampling
SCG '91 Proceedings of the seventh annual symposium on Computational geometry
Small-dimensional linear programming and convex hulls made easy
Discrete & Computational Geometry
Randomized multidimensional search trees: lazy balancing and dynamic shuffling (extended abstract)
SFCS '91 Proceedings of the 32nd annual symposium on Foundations of computer science
Dynamic maintenance of geometric structures made easy
SFCS '91 Proceedings of the 32nd annual symposium on Foundations of computer science
Fully dynamic Delaunay triangulation in logarithmic expected time per operation
Computational Geometry: Theory and Applications
Static and Dynamic Algorithms for k-Point Clustering Problems
WADS '93 Proceedings of the Third Workshop on Algorithms and Data Structures
Four Results on Randomized Incremental Constructions
STACS '92 Proceedings of the 9th Annual Symposium on Theoretical Aspects of Computer Science
Divide-and-conquer in multidimensional space
STOC '76 Proceedings of the eighth annual ACM symposium on Theory of computing
Lower bounds for algebraic computation trees
STOC '83 Proceedings of the fifteenth annual ACM symposium on Theory of computing
On enumerating and selecting distances
Proceedings of the fourteenth annual symposium on Computational geometry
On coresets for k-means and k-median clustering
STOC '04 Proceedings of the thirty-sixth annual ACM symposium on Theory of computing
Net and prune: a linear time algorithm for euclidean distance problems
Proceedings of the forty-fifth annual ACM symposium on Theory of computing
Hi-index | 0.00 |
We present a conceptually simple, randomized incremental algorithm for finding the closest pair in a set of n points in D-dimensional space, where D ≥ 2 is a fixed constant. Much of the work reduces to maintaining a dynamic dictionary. Using dynamic perfect hashing to implement the dictionary, the closest pair algorithm runs in O(n) expected time. Alternatively, we can use balanced search trees, and stay within the algebraic computation tree model, which yields an expected running time of O(n log n). In addition to being quick on the average, the algorithm is reliable: we show that the high-probability bound increases only slightly to O(n log n/log log n) if we use hashing and even remains O(n log n) if we use trees as our dictionary implementation. Finally, we give some extensions to the fully dynamic closest pair problem, and to the k closest pair problem.