【Tree】Prim算法思想与步骤

 

Prim 算法思想:

从任意一顶点 v0 开始选择其最近顶点 v1 构成树 T1,再连接与 T1 最近顶点 v2 构成树 T2, 如此重复直到所有顶点均在所构成树中为止。
Prim 算法步骤:
T0 存放生成树的边,初值为空
输入加权图的带权邻接矩阵 C = (Cij)n×n (两点间无边相连则其大小为无穷)
为每个顶点 v 添加一属性 L(v) :表 v 到 T0 的最小直接距离
1) T0←∅, V1={v0}, C(T0)=0
2) 对任意v ∈ V,L(v)←C(v, v0)
3) If V==V1 then stop else goto next.
4) 在 V-V1 中找点 u 使 L(u) =min{ L(v) | v ∈ (V − V1 )},记 V1 中与 u 相邻点为 w.
5) T0←T0∪{(u, w)}, C(T0) ←C(T0)+C(u, w), V1←V1∪{u}
6) 对任意v ∈ (V − V1 ) if C(v, u)<L(v) then L(v) = C(v, u) else L(v)不变。
7) Go to 3.

posted @ 2012-04-11 23:02  visayafan  阅读(5528)  评论(0编辑  收藏  举报