### shas19's blog

By shas19, history, 4 years ago, ,

Given N points I need to find Closest point among all the given points to all the given points in plane in less than O(n^2).

The distance used is Euclidean distance.

I came to know that for any metric distance we can use kd-Tree to solve such problems. (I may be wrong)

I also came to know that for chebychev distance the problem can be solved using orthogonal range querying and manhattan distance problem can also be converted into chebychev distance problem.

Is there any way to solve Euclidean distance problem more easily with some other trick?

• +11

 » 4 years ago, # |   0 Auto comment: topic has been updated by shas19 (previous revision, new revision, compare).
 » 4 years ago, # |   +8 Voronoi diagram? :D
 » 4 years ago, # |   +3 You can use Voronoi diagram to solve the problem. Nearest points are neighbour cells in it. But this solution considered to be true hell. Another one solution is to choose some random set of directions and for all point try to find the answer among closest points in these directions. Also, take a look: linkThere also was problem on SPOJ or something like that, but I don't remember it :)
•  » » 4 years ago, # ^ |   0 Can you explain randomized solution in more details ?
•  » » 4 years ago, # ^ |   +4 The randomized solution has been described in this post.As for the problem on SPOJ, I think it's FAILURE
 » 4 years ago, # |   0 Another task: https://www.hackerrank.com/challenges/meeting-point
 » 4 years ago, # | ← Rev. 2 →   0 Deleted.
•  » » 4 years ago, # ^ | ← Rev. 2 →   0
•  » » 4 years ago, # ^ |   0 My Russian isn't that great, but I believe this is an explanation for the closest pair of points, not the closest point to every point.