数据结构第8章 图.ppt

数据结构第8章 图.ppt

为了简便,在实现克鲁斯卡尔算法Kruskal()时,参数E存放图G中的所有边,假设它们是按权值从小到大的顺序排列的。n为图G的顶点个数,e为图G的边数。 typedef struct { int u; /*边的起始顶点*/ int v; /*边的终止顶点*/ int w; /*边的权值*/ } Edge; Edge E[e]={ { 0,2,1}, {3,5,2}, {1,4,3}, {2,5,4}, {0,3,5}, {2,3,5}, {1,2,5}, {0,1,6}, {2,4,6}, {4,5,6} } ; Kruskal()算法如下: void Kruskal(Edge E[ ],int n,int e) // E已经从小到大排序 { int i,j,m1,m2,sn1,sn2,k; int vset[MAXV]; for (i=0;in;i++) vset[i]=i; /*初始化辅助数组*/ k=1; /*k表示当前构造最小生成树的第几条边,初值为1*/ j=0; /*E中边的下标,初值为0*/ while (kn) /*生成的边数小于n时循环*/

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档