Pro*_*oob 3 algorithm divide-and-conquer
我一直在关注Coursera关于算法的课程,并想出了关于最近对问题的分治/征服算法,我想澄清一下.
根据Roughgarden教授的算法(如果你感兴趣,可以在这里看到):对于给定的一组点P,我们有两个副本 - 在X和Y方向排序 - Px和Py,算法可以给出
closestPair(PX,PY):
现在,我想要的澄清与第5步有关.我应该事先说出来,我所建议的,几乎没有任何改进,但如果你仍然感兴趣,请提前阅读.
R教授说由于点已经在X和Y方向排序,为了在步骤5中找到最佳对,我们需要迭代宽度为2*delta的条带,从下到上,在内部循环我们只需要7次比较.这可以只改为一个吗?
我的想法似乎有点难以用纯文本来解释,所以我绘制了一个图表并将其写在纸上并在此处上传:

由于没有其他人想出来,我很确定我的想法中存在一些错误.但我现在一直在考虑这个问题,我只是想发布这个.这就是我的想法.
谁能指出我哪里出错了?
你在第5点的结论是不正确的.尝试绘制点A更接近分界线.
你可以在A的三角形(一个在上面,一个在下面)内有两个点,它们不在彼此的三角形内.
| B
|
A|
|
| C
Run Code Online (Sandbox Code Playgroud)
在这里,dist(A,B) = dist(A,C) < dist(B,C).
这是为什么图片有助于获得直觉的完美示例,但仍需要证据来支持您的结论.