在 http://en.wikipedia.org/wiki/Closest_pair_of_points_problem 我们可以看到它提到的最多6个点最接近另一半的点,可以表示如下图:
我的问题是针对点P1和点P2,到红点的距离将超过sqrt(2)* d,为什么它是解决方案的一部分?为什么不是最多4个点最接近P而不是最多6个点?感谢。
答案 0 :(得分:8)
P1 和 P2 不是解决方案的一部分,但必须在解决方案的路上检查它们,因为算法会检查框中的所有点, P1 和 P2 在框中。
请注意, Q 不存在这样的要点,因为假设图中右半部分之间的最小距离为 d 。
编辑添加:您似乎认为维基百科的文章提出了这样的声明:
这种说法是错误的。但该文章没有提出这样的主张。相反,它提出了两个单独的声明,两者都是正确的:
答案 1 :(得分:2)
我们只计算可以位于右侧d x 2d矩形中的最大点数。由于任何两个点都被约束为具有最小距离d,因此我们可以在满足此约束的同时在矩形中放置最多6个点,如图所示。
请注意,右侧与P距离d的点应位于以P为中心并且半径为d的圆的圆弧段内。此细分中最多可以有4个点。但是,找到段内的点数比找到矩形内的点数要复杂得多。因此,我们使用矩形代替,并且需要额外花费额外搜索最多2个额外点。
答案 2 :(得分:2)
界限仅对复杂性估计很重要。代码方面,您可以在距离dRmin内上下扫描。这里的界限表明你在每次这样的扫描中最多会看到6个点,这就是O(1)。