二维平面最接近两点间距离
给定平面上nn个点,找出其中的一对点的距离,使得在这nn个点的所有点对中,该距离为所有点对中最小的。
方法一:
暴力。两个循环遍历所有点。O(n*n),显然过不了,除非数据贼水。
方法二:
分治。
先看一个简单情况:当所有点都在x轴上,我们可以对点按x排序,然后线性扫描即可。但我们讲分治算法,试着用分治解决这道题。
如图所示,排好序后选取中间mid,将点分为大致相等的两部分,可以求得左右两部分最短点距d1,d2;那么答案是否为d=min(d1,d2)呢?
答案显然不是!!;无法判断...
原创
2021-09-29 15:37:50 ·
322 阅读 ·
0 评论