1.无向网图与边集数组存储示意图 vertex[6]= 2.Kruskal 方法构造最小生成树的过程(a)一个图(b)最小生成树过程 1 V0V1V2V3V4V5下标 0 1 2 3 4 5 6 7 8from 1 2 0 2 3 4 0 3 0to 4 3 5 5 5 5 1 4 2weight 12 17 19 25 25 26 34 38 46V1V0V4V5V2V3V1V0V5V2V3V4(c)最小生成树过程 2 (d)最小生成树过程 3(e)最小生成树过程 4 (c)最小生成树过程 5 3.伪代码1)初始化辅助数组 parent[vertexNum];num=0;2) 依次考查每一条边 for(i=0; i
EdgeGraph::EdgeGraph(DataType a[], int n, int e){ vertexNum=n;edgeNum=e;int i,j,weight;for (int k=0; k>i>>j;edge[k].from=i;edge[k].to=j;cout<<"请输入权重:";cin>>weight;edge[k].weight=weight;}}/**********Kruskal 算法构造最小生成树************/template void EdgeGraph::Kruskal(){ int num;int parent[MaxVertex], vex1, vex2;for (int i=0; i"<int EdgeGraph::FindRoot(int parent[], int v){ int t=v; while(parent[t] > -1) t=parent[t];return t;}/**********遍历输出************/template void EdgeGraph::Print(){for (int i=0; i