我一直在阅读算法设计手册,但这句话让我感到困惑,我不确定它说的是真的

时间:2012-12-19 21:50:06

标签: algorithm

以下陈述让我感到困惑:

  

最近邻规则是合理有效的,因为它最多查看每对点(pi,pj)两次:一次将pi添加到巡视时,另一次添加pj时。

来自以下文本块(以蓝色突出显示):

enter image description here

说这对点是第2和第3,(2,3)那对点是怎么看的两次?当它添加第二个时,它将第二个设置为最接近第一个的未访问点,然后当它添加第三个时,它看第三个是最接近第二个。这是我能看到他们看到那一点的唯一一点。

有人可以解释一下吗?

2 个答案:

答案 0 :(得分:2)

他们在数学上更加看法 - 有一组点,每次在巡回赛中添加一个点时,最佳候选人都会访问整个集合。当一个点被添加到巡视中时,该组不会被更改,这些点只会被标记为已访问。因此,每对都被认为是两次。

如果实际上实现了该算法,您可能会使用一组未访问的点并在每次迭代后更新此集合。现在每一对只被访问过一次但是以改变集合为代价,这可能 - 取决于实现 - 比仅访问每对两次花费更多或更少的时间。

答案 1 :(得分:1)

解释说“最多两次”。

如果他们希望每对被检查两次,那么“最多”这两个词就不会出现。反对“最多两次”的例子是一对被检查三次或更多次,而不是一对只检查一次。