使用Prim算法查找有向图的MST

时间:2010-12-30 19:37:12

标签: algorithm graph minimum-spanning-tree prims-algorithm

alt text

任何人都可以帮助我如何使用PRIM算法找到MST。突出显示MST的边缘并写入将节点添加到MST的顺序。 感谢

1 个答案:

答案 0 :(得分:4)

引用The Directed Minimum Spanning Tree Problem

  
      
  1. 丢弃进入根部的弧线(如果有的话);对于除了之外的每个节点   root,选择进入弧   成本最低;让选中的n-1   arcs是集合S.
  2.   
  3. 如果没有形成循环,则G(N,S)是MST。否则,继续。
  4.   
  5. 对于形成的每个循环,将循环中的节点收缩为伪节点   (k),并修改每个弧的成本   它进入循环中的节点(j)   从某个节点(i)循环之外   根据以下等式   C(I,K)= C(I,J) - (C(X(j)中,j)的-min_ {Ĵ}(C(X(J),J))   这里c(x(j),j)是弧的成本   在进入j的周期中。
  6.   
  7. 对于每个伪节点,选择具有最小值的输入弧   修改成本;更换电弧   进入S中的同一个真实节点   新选择的弧。
  8.   
  9. 使用缩小图表转到第2步。
  10.         

    算法的关键思想是   找到有的替换弧   消除的最低额外费用   循环(如果有的话)。给定的等式   展示相关的额外费用。