我试图将我课本上的Djikstra算法应用到这个图上,但是当我试图从G->C遍历时,我一直被困在顶点A上。这里是到图图像的链接:
LINK
我将概述以下步骤:
我从初始顶点(G)开始。
A的成本为6,E的成本为1,H的成本为4,因为它们最初都是无穷大的G标记为已访问。
我用最少的费用去找邻居,在这种情况下是E。
在E处,我将B的成本设为1+2=3,F的成本设为1+2=3然后将e标记为已访问。
我以最低的成本拜访了E的邻居:这是我开始陷入困境的地方,因为B和F都有相同的成本。假设我选择B。
在B,我把C的成本设为3+7=10,A的成本设为5。
现在A是成本最低的邻居,但访问它会让我陷入困境,因为我出不去。
如果我做错了,我会非常感谢你的建议或改正。

最佳答案

在步骤6中,已访问的节点是G、E和B。现在必须选择具有最小距离值(即F)的节点。因此,步骤7中的缺陷实际上是假设它必须是邻居节点。
从步骤7继续:
选择F。将C的距离更新为6。马克F拜访过。
选择H。将D的距离更新为6马克H拜访过。
现在选择A。不需要更新。马克A来访了。
按任意顺序选择C或D,并将其标记为已访问这里不需要更新。

09-30 13:47