prime算法——最小生成树

根据,王道《数据结构》书中代码,所加注释,供大家参考

若有差错,望请指正!

//最小生成树prime算法,时间复杂度O(|V|^2),时间复杂度只与顶点个数有关,与边无关
/*
Gedge = {
    {A,B:3},{A,C:1},{A,E:4},{B,C:2},{C,D:5},{C,E:6}
}

*/

#define MAX 1000 //可以更大

void MinTree_Prime(Graph G)
{
    int min_weight[G.vexnum];//未计算的每个顶点到已计算所有顶点间,所有边最小的值(是一组),已计算的节点的值均为0
    //即每个为计算顶点都有一个到已计算顶点群中权值最小的边,或者暂时还不可达(为正无穷)
    int adjvex[G.vexnum];//min_weight中每个边对应的已计算了的那个顶点(每条边两个顶点,一边在已计算的边群中,一边在未计算的边群中)
   
   for(int i = 0;i

 

你可能感兴趣的:(prime算法——最小生成树)