下载此文档

最小生成树实验总结.docx


文档分类:IT计算机 | 页数:约6页 举报非法文档有奖
1/6
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/6 下载此文档
文档列表 文档介绍
最小生成树实验总结一、实验目的 、实验环境 1、硬件:每个学生需配备计算机一台2、软件:windows操作系统+TurboC三、实验要求 1、能够独立完成带权图的存储和最小生成树的生成四、代码#include#include#defineMAX100#defineMAXCOST0x7fffffffintgraph_hcy[MAX][MAX];intPrim_hcy(intgraph_hcy[][MAX],intn){/*lowcost_hcy[i]记录以i为终点的边的最小权值,当lowcost[i]=0时表示终点i加入生成树*/intlowcost_hcy[MAX];/*mst_hcy[i]记录对应lowcost[i]的起点,当mst[i]=0时表示起点i加入生成树*/intmst_hcy[MAX];inti,j,min,minid,sum=0;/*默认选择1号节点加入生成树,从2号节点开始初始化*/for(i=2;istructEdge{ intfrom,to,weight;//定义一个数据结构,存放点和边的关系以及边的权值}; Edgeedge[100],temp;和一个变量 inti,j,n,m;intp[100]; intseek(intx){ if(p[x]==x) returnx; elsereturnp[x]=seek(p[x]); } IntKruskal(){ intx,y,k=0;for(i=0;iight); //输出这时的边的端点和权值}k++; p[x]=y; }}intmain(){ printf("Pleaseinputthenumberofthenodesandedges:\n");scanf("%d%d",&n,&m);//输入有n个节点m条边printf("Pleaseinputtheedgesanditsweight:\n");for(i=0;iedge[j].weight){} temp=edge[i]; edge[i]=edge[j];edge[j]=temp; printf("Theminimumspanningtreeis:\n"); Kruskal();//调用Kruskal算法return0;} 其中运用seek函数找出当前端点所在集合编号。运用Kruskal函数来实现求出最小生成树的边,并且依次输出。在主函数中将各个边按照权值的大小由小到大排序。六、输入和输出及结果的分析程序要求先输入结点个数以及边的个数,然后再依次输入各边的起点终点以及权值。输出时则是输出最小生成树的边的起点终点和权值。测试用例一:老师的用例。我们应该输入:8,13然后输入123,232,383,872,762,612,141,252,534,273,472,571 其输入如图: 其输出如图: 测试用例二:输入58;然后输入121,232,342,453,512,143,521,242,如图所示: xie 数据结构与算法实验院别:年级专业:姓名:学号: 计算机科学与信息工程学院XX级空间信息与数字技术杨哲庆14XX2138 XX年12月实验8最小生成树实验最小生成树实验的主要内容和目的①使用Prim算法建立最小生成树。②使用Kruskal算法建立最小生成树。③编写一

最小生成树实验总结 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数6
  • 收藏数0 收藏
  • 顶次数0
  • 上传人kang19821012
  • 文件大小17 KB
  • 时间2019-02-21