当Dijkstra失败?

问题描述 投票:-1回答:1

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

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

algorithm graph-algorithm
1个回答
2
投票

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

从而,

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

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.