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?
Auto comment: topic has been updated by shas19 (previous revision, new revision, compare).
Voronoi diagram? :D
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: link
There also was problem on SPOJ or something like that, but I don't remember it :)
Can you explain randomized solution in more details ?
The randomized solution has been described in this post.
As for the problem on SPOJ, I think it's FAILURE
Another task: https://www.hackerrank.com/challenges/meeting-point
Deleted.
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.