当迪克斯特拉失败时?



如果Dijkstra选择的节点没有导致目标怎么办?

如果 Dijkstra 选择的节点与下一个节点相比成本最低,但如果 !select 下一个节点导致总体成本最低并且它没有连接到选择的下一个节点会发生什么?

Dijkstra的算法(在常用的公式中)在图形中查找从所选起始节点到图形中所有其他节点(可从起始节点访问)的最短路径。

因此

如果 Dijkstra 选择的节点没有导致目标怎么办?

是无关紧要的。假设目标实际上是可以从开始节点到达的,不相关的节点根本不会影响目标路径的长度。

如果 Dijkstra 选择的节点与下一个节点相比成本最低,但如果 !select 下一个节点导致总体成本最低并且它没有连接到选择的下一个节点会发生什么?

在每个步骤中,算法以最低的成本(到目前为止)访问节点(称为N),并重新计算到达N的邻居的成本。如果找到到 N 的任何邻居的较短路径,则会更新到该节点的路径。

因此,最终,算法将通过"选择的下一个节点"访问您的目标,并发现该路径比之前计算的路径短 路径长度。

最新更新