找到集合中每个点的最近点

时间:2012-09-20 16:50:07

标签: algorithm

我有(X,Y)形式的一组n个点,我想找到集合中每个点的最近点,而另一个点也属于同一个集合。

朴素的算法很简单,O(n^2),但我想做更好的事情。

感谢任何帮助。

1 个答案:

答案 0 :(得分:7)

您只需要O(N)时间即可使用Delaunay triangulation获得与每个点最近的点。只需选择一个长度最小的边,从每个点开始。

Delaunay三角剖分可以在O(N log N)时间内找到。