[理工] 算法 the closest pair 的问题

楼主: sooge (老衲)   2018-11-04 18:00:31
https://i.imgur.com/rQvFQL8.jpg
我想请问一下这题 the closest pair的问题
它的先前准备已经先将所有点依照y座标排序
那请问为什么不依照x座标排序?
如果是扫点的话从下面扫上来
和由左边扫到右边应该结果是一样的吧
不是都是依序抓距离分隔线距离小于d的点出来(假设是p点)
然后再查p点下面的7个点看和p点的距离有无小于d吗
所以一般来想用x座标排序应该比较直观吧
为什么要特地用y座标排序?有什么特别的意义吗?
作者: FRAXIS (喔喔)   2018-11-05 10:57:00
递回是按照 x 座标切的 先依照 y 座标排序只是为了避免在递回过程中重复计算
楼主: sooge (老衲)   2018-11-05 13:10:00
听不太懂 可以再解释的详细一点吗>< 重复计算是什么意思递回和取list K是不同步骤不是吗
作者: FRAXIS (喔喔)   2018-11-06 11:21:00
因为每次 recursion call 都要用 y 值的顺序来扫描而且递回会被呼叫很多次 所以一开始就先按照 y 轴排序每次递回呼叫的时候就按照这顺序扫描就好了 不用重排
楼主: sooge (老衲)   2018-11-07 12:17:00
很像懂其中的意思了 谢谢你

Links booklink

Contact Us: admin [ a t ] ucptt.com