其实,能不能使用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
之所以造成这样的情况,原因只有一个,那就是,在有向图中,有可能存在这样一种情况:两个节点之间来和回的权重不一样
而无向图就不会出现这种问题。