Prim算法分析

时间:2013-07-31 16:38:19

标签: graph-algorithm

任何人都可以解释我们使用的原因或使用密钥数组的重要性(即key []) 在PRIM'S ALGORITHM中处理最小生成树问题。

PRIM_MST(G,W,R)//G->graph,W->weighted matrix,R->root vertex
-------------------------

for v<-v[G]
    key[v]<-infinity
    pred[v]<-NIL     //pred[]-->predecessor array
key[v]=0
Q<-v[G]              //Q-->priority queue
while Q!=NULL
     u<-EXTRACT_MIN(Q)
      for v<-adj[u]   //adj[]--> adjacency list matrix
           if v belongs to Q && w(Q,v)<key[v]
                 pred[v]<-u,key[v]<-w(u,v)

1 个答案:

答案 0 :(得分:0)

Key基本上是在构造MST期间导致图中特定顶点的边缘上的值

在算法期间到达顶点时,它检查连接集合A(已经遍历的顶点集合)和集合B(尚未遍历的边缘集合)的最小加权边缘。它遵循这个最小边缘,并将新到达顶点的关键字(跟随此最小边缘后达到的关键字)作为此最小边的权重