离散数学大作业——编程实现最小生成树

离散数学大作业——编程实现最小生成树

ID:27840979

大小:213.50 KB

页数:7页

时间:2018-12-06

离散数学大作业——编程实现最小生成树_第1页
离散数学大作业——编程实现最小生成树_第2页
离散数学大作业——编程实现最小生成树_第3页
离散数学大作业——编程实现最小生成树_第4页
离散数学大作业——编程实现最小生成树_第5页
资源描述:

《离散数学大作业——编程实现最小生成树》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、离散数学大作业——编程实现最小生成树学院:电子工程学院班级:021051学号:02105019姓名:杨青锋—、最小生成树概念:设G=(VrE)是无向连通带权图,即一个网络。E中每条边(v,w)的权为c[v/W]o所有生成树&上各边权的总和最小的生成树称为G的最小生成树。二、prim算法(贪心思想)设图G二(V,E),其生成树的顶点集合为U。1.把vO放入U。2.在所有ueurveV-U的边(u,v)eE中找一条最小权值的边,加入生成树。3•把2找到的边的v加入U集合。如果U集合已有n个元素,则结束,否则继续执行2其算法的时间复杂度为

2、0(22)三.程序源代码#indude#include#definem6#definen11typedefstruct{inti,t昭chars;}vertice;typedefstruct{intwbtggintweight;}edge;verticev[m];edgee[n];voidinititate();voidsort();voidchuli();intbiaoji(edge*s);voidprint();voidmain(){inititate();sort();chuliQ;pri

3、nt();voidinititate(){inti;printf(“输入图的%d个顶点:n,m);for(i=0;ia;j=s->b;if(v

4、[i].tag==O11v(j].tgg==O){v[i].t^g=1;v[i].t^g=1;s->t^g=1;return1;}return0;}voidprint(){inti,j=0;printf("最小生成树的边为:");for(匸0;inre[i]^e[i].b);j++;}printf(Hn);}voidsort(){edges;intij;for(i=0;i

5、if(e[i].weight>e(j].weight){s=e[i];e[i]=eg];e[j]=s;}}}}voidchuli(){inti,j=0;edge*s;for(i=0;i<2-3><2-4><4-6><5-6>Pressanykeytocontinue

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

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

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