实验七 最小生成树

实验七 最小生成树

ID:38499668

大小:49.50 KB

页数:6页

时间:2019-06-13

实验七 最小生成树_第1页
实验七 最小生成树_第2页
实验七 最小生成树_第3页
实验七 最小生成树_第4页
实验七 最小生成树_第5页
资源描述:

《实验七 最小生成树》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验七最小生成树一实验目的1.掌握最小生成树的概念2.掌握Prim算法生成最小生成树的方法3.了解Kruskal算法生成最小生成树的方法二实验内容建立一个无向网,并分别用Prim算法构造最小生成树。三参考程序/*实验7:最小生成树-prim*/#include#include#include#defineINFINITY9999/*无穷大*/#defineMAX_VERTEX_NUM26/*最大顶点数*/#defineMAX_NAME5/*

2、顶点字符串的最大长度*/typedefenum{DG,DN,UDG,UDN}GraphKind;typedefcharVertexType[MAX_NAME];/*顶点类型*/typedefintVRType;/*顶点关系类型*/#defineMAXSIZE100#defineNULL0#defineOK1#defineERROR0typedefintStatus;typedefcharElemType;typedefstruct{VRTypeadj;}Arcclosedgell,AdjMatr

3、ix[MAX_VERTEX_NUM][MAX_VERTEX_NUM];typedefstruct{VertexTypevexs[MAX_VERTEX_NUM];/*顶点向量*/AdjMatrixarcs;/*邻接矩阵*/intvexnum,arcnum;/*图的当前顶点数和弧数*/GraphKindkind;/*图的种类标志*/}Mgraph;typedefstruct{VertexTypeadjvex;VRTypelowcost;}minside[MAX_VERTEX_NUM];intLoca

4、teVex(Mgraph*G,VertexTypeu)/*查找顶点u*/{inti;for(i=0;ivexnum;i++)if(strcmp(u,G->vexs[i])==0)returni;return-1;}voidPrintGraph(Mgraph*G)/*输出邻接矩阵存储的图*/{inti,j;printf("%dvexs,%darcs",G->vexnum,G->arcnum);for(i=0;ivexnum;i++)printf("%s",G->vexs[i])

5、;printf("G->arcs.adj");for(i=0;ivexnum;i++){for(j=0;jvexnum;j++)printf("%5d",G->arcs[i][j].adj);printf("");}}voidCreateUDN(Mgraph*G)/*创建无向网*/{inti,j,k,w;VertexTypeva,vb;printf("pleaseentervexnum&&arcnum:");scanf("%d%d",&G->vexnum,&G->ar

6、cnum);printf("pleaseentervertex:");for(i=0;ivexnum;i++)scanf("%s",G->vexs[i]);for(i=0;ivexnum;i++)for(j=0;jvexnum;j++)G->arcs[i][j].adj=INFINITY;printf("enter%darcs:",G->arcnum);for(k=0;karcnum;k++){scanf("%s%s%d%c",va,vb,&w);i=Loca

7、teVex(G,va);j=LocateVex(G,vb);G->arcs[i][j].adj=G->arcs[j][i].adj=w;}G->kind=UDN;}intminimum(minsideSZ,Mgraph*G)/*求SZ.lowcost的最小值,并返回其在SZ中的序号*/{inti=0,j,k,min;while(!SZ[i].lowcost)i++;min=SZ[i].lowcost;k=i;for(j=i+1;jvexnum;j++)if(SZ[j].lowcost>0

8、&&min>SZ[j].lowcost){min=SZ[j].lowcost;k=j;}returnk;}voidPrim(Mgraph*G,VertexTypeu){minsideclosedge;inti,j,k;k=LocateVex(G,u);for(j=0;jvexnum;++j){strcpy(closedge[j].adjvex,u);closedge[j].lowcost=G->arcs[k][j].adj;}closedge[k].lowcost=0;printf("E

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。