dijkstra / prim的算法...有点帮助?

时间:2010-04-28 15:18:32

标签: algorithm dijkstra prims-algorithm

我想知道dijkstra和prim的算法,当他们在多个顶点之间进行选择时会发生什么,并且有多个顶点具有相同的权重。

例如

Example Image http://img688.imageshack.us/img688/7613/exampleu.jpg

4 个答案:

答案 0 :(得分:4)

没关系。通常,绑定将以某种任意方式被破坏,例如首先将哪个节点添加到优先级队列。

Dijkstra的目标是找到 最短路径。如果您想找到所有最短路径,那么您将不得不担心关系。

答案 1 :(得分:4)

可能有多个MST,无论你使用哪个任意的抢七规则都可能会给你一个不同的,但它仍然是一个MST。

例如,您可以想象一个三角形A-B-C,其中所有边权重都是一个。在这种情况下有三个MST,它们都是最小的。

同样适用于Dijkstra和最短路径生成树 - 可能存在多个最短路径生成树。

答案 2 :(得分:0)

如果我错了,请纠正我,但你的图表没有Dijkstra算法应用的任何替代路径。

答案 3 :(得分:-1)

Dijkstra算法以最小的成本扩展(或“放松”)触摸但不是扩展节点(或“灰色”节点)的所有边缘。

如果两个节点的成本相同,那么......它只是随机的:)