Kruskal算法实现-数据结构报告.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《Kruskal算法实现-数据结构报告.docx》由会员分享,可在线阅读,更多相关《Kruskal算法实现-数据结构报告.docx(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、河南工程学院数据结构与算法课程设计成果报告Kruskal算法实现2014年12月29日错误!未指定书签。for(i=2;i=e;i+) if (gei. wgei-l. w) (ge0=gei;j 二 iT;while(ge0j. wgej. w)(gej+l=gej;尸;gej+l=ge0;)void dijkstra(int costMAXEMAXE, int distMAXE, int pathMAXE, int sMAXE, int n, int vO)(int u, vnum, w, wm;for(w=l;w=n;w+)(distw=costvOw;if(costvOw32767)p
2、athw=v0;)vnum=l;while(vnumn-l)(wm=32767;u 二 vO;for (w=l;w=n;w+)if(sw=0&distwwm) (u=w;wm=distw;)su=l;vnum+;for(w=l;w=n;w+)if (sw=0&distu+cost u wdistw&costu w !=32767)distw=distu+costuw; pathw=u;错误!未指定书签。)void printpathl(int dist, int path, int s,int n,int vO) (int i, k;for(i=l;i=n;i+)if (si=l)(k=i;w
3、hile (k!=vO)(printf(%d-,k);k=pathk;)printf(%d:%dn,k,disti);elseprintf(,%d-%d:32767n,/, i, vO);void printpath2 (int dist, int path, int vO, int vl) (int k;k=vl;while (k!=vO)(printfk);k=pathk;printf (,%d:%dn/,, k, distvl);)main ()(edgeset geMAXE;int costMAXEMAXE, distMAXE, pathMAXE, sMAXE, a, n, e, i,
4、 j, k, vO, vl; printf (请输入顶点个数:“);scanf(d,&n);printf (请输入边的条数:);scanf(%d,&e);printf (请输入边的信息(起点,终点,权值):n);for(i=l;i=e;i+)错误!未指定书签。scanf (d, %d, %d,&gei. bv, &gei. tv, &gei. w);printf (在以下菜单中进行选择:n);printf (L kruskal 算法(起点,终点)权值):n);printf (z,2. shortpath (终点一起点):n);printf (z,3. shortpath between two
5、 point (终点一起点):n);printf (,z4. exit (退出):n);scanf(%d, &a);while(a!=4)switch(a)case 1:insertsort (ge,e);kruskal (ge,n,e);break;case 2: printf (”请输入起始顶点序号:);scanf(d”, &v0);for (i=l;i=n;i+)for(j=l;j=n;j+)costij=32767;for (k=l;k=e;k+) i=gek. bv;j=gek. tv;costij=gek. w;for (i=l;i=n;i+)si=0;s vO=l;di jkst
6、ra(cost, dist, path, s, n, vO);printpathl (dist, path, s, n, vO);break;case 3: printf (请输入起始顶点序号:);scanf(d,&v0);printf (请输入终点序号:); scanf(d,&vl);for (i=l;i=n;i+)for(j=l;j=n;j+)costi j=32767;for(k=l;k=e;k+)i=gek. bv;错误!未指定书签。j=gek. tv;costij=gek. w;)for (i=l;iy cost: z其中表示节点x与y间有一条边,权值为zl-2cost:5 2-3c
7、ost:1 2-5cost:3 35cost:2 l-7cost:2 4-7cost:34-5cost:6 8-9cost:1 7-9cost:9 6-9cost:2 3-9cost:8 7-6cost:38-7cost:4 3-6cost:7 5-7cost:10 l-4cost:6 1-3cost:7 5-8cost:39-10cost:5 8-10cost:3 5-7cost:10其中,顶点数为10,边数为20。11错误!未指定书签。4. 2测试结果分析上述测试数据表达在代码中为:edge e = (l,3,2), (1,2,4) (3,2,1), (2,5, 5), (3, 5,6);
8、kruskal test (5, 4, e);couttest. solve ()endl;所构成的图如图4. 2所示:图4. 2中蓝色的边构成最小生成树,总和为2012错误!未指定书签。5总结本次课程设计涉及到的范围很广,让本人能够比拟系统的对c语言和数据结 构进行一次整理和复习。同时有了很多的体会和经验。1 .巩固了以前学过的c语言的知识,在这次课程设计中我体会到C语言超强 的逻辑性,能够熟练使用VC+的编译环境,也对这两门课程有了新的认识,他们 既有联系,又相互区别,在编写程序过程中要灵活应用2 .对数据结构的理解有待加强,算法的知识面也有待于提高。不同的人会选 择不同的算法,所以即使同
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Kruskal 算法 实现 数据结构 报告
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内