我想知道dijkstra和prim的算法,当他们在多个顶点之间进行选择时会发生什么,并且有多个顶点具有相同的权重。
例如
Example Image http://img688.imageshack.us/img688/7613/exampleu.jpg
答案 0 :(得分:4)
没关系。通常,绑定将以某种任意方式被破坏,例如首先将哪个节点添加到优先级队列。
Dijkstra的目标是找到 最短路径。如果您想找到所有最短路径,那么您将不得不担心关系。
答案 1 :(得分:4)
可能有多个MST,无论你使用哪个任意的抢七规则都可能会给你一个不同的,但它仍然是一个MST。
例如,您可以想象一个三角形A-B-C,其中所有边权重都是一个。在这种情况下有三个MST,它们都是最小的。
同样适用于Dijkstra和最短路径生成树 - 可能存在多个最短路径生成树。
答案 2 :(得分:0)
如果我错了,请纠正我,但你的图表没有Dijkstra算法应用的任何替代路径。
答案 3 :(得分:-1)
Dijkstra算法以最小的成本扩展(或“放松”)触摸但不是扩展节点(或“灰色”节点)的所有边缘。
如果两个节点的成本相同,那么......它只是随机的:)