我目前被指派创建一个c ++程序来找到(x,y)坐标系中最近的一对点。但是,我在尝试理解一件事时遇到了很多麻烦。
我读过关于最接近的一对问题的每个教程/指南它告诉我按Y坐标对点集进行排序,但我不明白这是什么意思?有人可以向我解释为什么我们用Y坐标对它进行排序,它的用途是什么?我知道我们用X对点进行排序以获得L和X *,但我只是不明白为什么我们必须按Y坐标对点进行排序。
答案 0 :(得分:0)
你没有,但是你的运行时间没有超过O(n 2 )。重点是尽可能少地计算 - 通过尽可能少地检查,忽略那些你知道不会成为答案的一部分。通过排序Y来做到这一点。
这是一个很好的解释,我只是用Google搜索:http://www.cs.mcgill.ca/~cs251/ClosestPair/ClosestPairDQ.html