电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

数据结构(C言语版本)课程设计报告_最小生成树的应用

22页
  • 卖家[上传人]:桔****
  • 文档编号:474304592
  • 上传时间:2023-04-01
  • 文档格式:DOC
  • 文档大小:437.50KB
  • / 22 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、武 夷 学 院 课程设计报告课程名称:数据结构C言语版本设计题目:最小生成树的应用学生班级:10计科1班学生姓名:指导教师:完成日期:2012-01-05 课程设计工程研究报告目录一、问题描述及根本要求1 -二、 实现本程序需要解决的问题如下1 -三、 测试数据2 -四、 算法思想3 -五、 模块划分4 -六、 算法设计与分析7 -七、 源程序11 -八、 测试数据14 -九、 课程设计工程进度表及任务分配表及任务分配表15 -十、 设计心得16 -十一 参考文献17 -一、为题描述及根本要求在n个城市间建立通信网络,需架设n-1条线路。求解如何以最低经济代价建设此通信网,这是一个最小生成树问题。要求:1利用普利姆算法求网的最小生成树;2输出生成树中各边及权值。 二、实现本程序需要解决的问题如下(1)、如何选择存储结构去建立一个带权网络。(2)、如何在所选存储结构下输出这个带权网络。(3)、如何实现prim算法的功能。(4)、如何从每个顶点开始找到所有的最小生成树的顶点。(5)、如何输出最小生成树的边及其权值。此问题的关键在于如何实现prim算法,实现的过程中如何得到构成最小生成树的所

      2、有顶点,此外输出也是一个关键问题所在,在此过程中经过了屡次调试。首先我们对问题进行大致的概要分析:这个问题主要牵涉到通过prim的根本算法思想实现程序所要求的功能,该算法的主要思想是:假设N=V,E是连通网,TE是N上最小生成树中边的集合。算法从U=u0( u0V),TE=开始,重复执行下述操作:在所有uU,vV-U的边u,vE中找一条代价最小的边u0,v0并入集合TE,同时v0并入U,直至U=V为止。此时TE中必有n-1条边,那么T=V,E为N的最小生成树。问题的输入数据的格式为:首先提示输入带权网络的顶点边数,我定义的为整形数据型,然后输入每一条边的信息,即边的两个顶点以及权值,是十进制整数类型,这样我们就建立一个带权网络,并用邻接矩阵来存储,生成一个方阵显示出来。问题的输出数据格式为:输出是以邻接矩阵形式输出,以及从不同顶点开始生成的最小生成树。题目要求以及到达目标:题目要求用prim算法实现给定无向网中边e和顶点n实现生成的最小生成树,输出生成树中的各边及权值。三、测试数据第一组顶点数vertices、边数edge:4、5起始节点starting、下个节点terminal、权值

      3、weights:1,2,11,3,22,4,53,4,41,4,6预测结果1、2、4第二组顶点数vertices、边数edge:6,10,起始节点starting、下个节点terminal、权值weights:1,2,61,3,11,4,52,3,52,5,33,5,63,4,53,6,44,6,25,6,6预测结果1、4、2、5、3 四、算法思想普里姆算法的根本思想:普里姆算法是另一种构造最小生成树的算法,它是按逐个将顶点连通的方式来构造最小生成树的。从连通网络 N = V, E 中的某一顶点 u0 出发,选择与它关联的具有最小权值的边(u0, v),将其顶点参加到生成树的顶点集合U中。以后每一步从一个顶点在U中,而另一个顶点不在U中的各条边中选择权值最小的边(u, v),把该边参加到生成树的边集TE中,把它的顶点参加到集合U中。如此重复执行,直到网络中的所有顶点都参加到生成树顶点集合U中为止。假设N=(V,E)是一个连通网,TE是N上最小生成树中边的集合。那么构造N的最小生成树的步骤如下: 1初始状态,TE为,U=u0,u0V; 2在所有uU,vV-U的边(u,v) E中找一条代价

      4、最小的边(u,v)并入TE,同时将v并入U;重复执行步骤2n-1次,直到U=V为止。在普里姆算法中,为了便于在集合U和(V-U)之间选取权值最小的边,需要设置两个辅助数组closest和lowcost,分别用于存放顶点的序号和边的权值。 对于每一个顶点vV-U,closestv为U中距离v最近的一个邻接点,即边 (v,closestv) 是在所有与顶点v相邻、且其另一顶点jU的边中具有最小权值的边,其最小权值为lowcostv,即lowcostv=costvclosestv,采用邻接表作为存储结构:设置一个辅助数组:lowcost域 存放生成树顶点集合内顶点到生成树外各顶点的各边上的当前最小权值;closest域 记录生成树顶点集合外各顶点距离集合内哪个顶点最近(即权值最小)。用prim算法构造最小生成树的过程:五、模块划分1预处理#include #include #define inf 9999#define max 40#define linelenght 772建立无向图int adjg(int gmax) /* 建立无向图 */ int n,e,i,j,k,v1=0,v2=0

      5、,weight=0; printf(Input the number of vertices, number of the edge:); scanf(%d,%d,&n,&e); while(e0.5*n*(n-1)|n=max) /*最大边数为,即0.5*n*(n-1)*/ error(); printf(Input the number of vertices, number of the edge:); scanf(%d,%d,&n,&e); for(i=1;i=n;i+) for(j=1;j=n;j+) gij=inf; /* 初始化矩阵,全部元素设为无穷大 */ for(k=1;kn|v2n|v11|v21) error(); printf(Input the %d on the edge of the starting point, terminal, weights:,k); scanf(%d,%d,%d,&v1,&v2,&weight); gv1v2=weight; /* 无向网的邻接矩阵是对称矩阵 */ gv2v1=weight; return(n); /* 返回顶点

      6、个数n */3输出无向图的邻接矩阵void pri(int gmax,int n) /* 输出无向图的邻接矩阵 */ int i,j; for(i=0;i=n;i+) printf(%dt,i); for(i=1;i=n;i+) printf(n%dt,i); for(j=1;j=n;j+) /* 输出边的权值 */ if(gij=inf) printf(%ct,354); else printf(%dt,gij); printf(n);void prim(int gmax,int n) /* prim函数 */ int lowcostmax,closestmax; int i,j,k,min; for(i=2;i=n;i+) lowcosti=g1i; /* 初始化 */ closesti=1; lowcost1=0; /* 标志顶点1参加U集合 */ for(i=2;i=n;i+) /* 形成n-1条边的生成树 */ min=inf; k=0; for(j=2;j=n;j+) /* 寻找权值最小的一条边,并把权值赋给min */ if(lowcostjmin)&(lowcostj!=0) min=lowcostj; k=j; printf(%d,%d)%dt,closestk,k,min); lowcostk=0; /* 顶点k参加U */ for(j=2;j=n;j+) /* 修改由顶点k到其他顶点边的权值 */ if(gkjlowcostj) lowcostj=gkj; closestj=k; printf(n);

      《数据结构(C言语版本)课程设计报告_最小生成树的应用》由会员桔****分享,可在线阅读,更多相关《数据结构(C言语版本)课程设计报告_最小生成树的应用》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.