为什么Prim算法不适用于带权有向图

Posted ShiveryMoon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么Prim算法不适用于带权有向图相关的知识,希望对你有一定的参考价值。

其实,能不能使用Prim算法计算图的最小生成树,和这个图是有向图还是无向图,这两者之间没有必然的联系。

而是,如果在有向图中出现了以下情况,那么就不能使用Prim算法:


假设一个有向图有3个顶点
1->2 8,
1->3 8,
2->3 4,
3->2 3
四条边,由于1->2和1->3是相等的所以prim因为循环顺序的原因最后结果构造出来的树是
1->2->3
但是答案应该是1->3->2

之所以造成这样的情况,原因只有一个,那就是,在有向图中,有可能存在这样一种情况:两个节点之间来和回的权重不一样

而无向图就不会出现这种问题。

 

 

以上是关于为什么Prim算法不适用于带权有向图的主要内容,如果未能解决你的问题,请参考以下文章

最小生成树之Prim Kruskal算法(转)

Dijkstra算法与Prim算法的异同

最小生成树的Prim算法

无向带权图的最小生成树算法——Prim及Kruskal算法思路

Prim算法解决最小生成树

最小生成树的Prim算法以及Kruskal算法(C语言)