




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西安科技大学 运筹学课程设计报告姓名:袁薪洋 一、 算法思想 运用Dijkstra算法求解图的最短路径。 Dijkstra算法思想为:设G=(V,E)是一个带权有向图,把图中顶点集合V分成两组,第一组为已求出最短路径的顶点集合(用S表示,初始时S中只有一个源点,以后每求得一条最短路径 , 就将 加入到集合S中,直到全部顶点都加入到S中,算法就结束了),第二组为其余未确定最短路径的顶点集合(用U表示),按最短路径长度的递增次序依次把第二组的顶点加入S中。在加入的过程中,总保持从源点v到S中各顶点的最短路径长度不大于从源点v到U中任何顶点的最短路径长度。此外,每个顶点对应一个距离,S中的顶点的距离就是从v到此顶点的最短路径长度,U中的顶点的距离,是从v到此顶点只包括S中的顶点为中间顶点的当前最短路径长度。 二、 算法流程或步骤 Dijkstr算法具体步骤:(1)初始时,S只包含源点,即S,v的距离为0。U包含除v外的其他顶点,U中顶点u距离为边上的权(若v与u有边)或 )(若u不是v的出边邻接点)。(2)从U中选取一个距离v最小的顶点k,把k,加入S中(该选定的距离就是v到k的最短路径长度)。(3)以k为新考虑的中间点,修改U中各顶点的距离;若从源点v到顶点u(u U)的距离(经过顶点k)比原来距离(不经过顶点k)短,则修改顶点u的距离值,修改后的距离值的顶点k的距离加上边上的权。(4)重复步骤(2)和(3)直到所有顶点都包含在S中。三、 算法源程序#include int m; int n;float a100100; float dist100; int prev100;float MAX_VALUE=10000; void dijkstra() if(mn) /当无顶点的情况return;bool *s=new booln+1;for(int i=0;in;i+)disti=a0i; /与源点相连的权值si=false;if(disti=MAX_VALUE) /与源点无连接的顶点previ=0; /设置对应权值为elseprevi=m; /与源点相连接的顶点设置为mdistm=0;sm=true;for(int i1=0;i1n;i1+)float temp=MAX_VALUE;int u=m;for(int j=0;jn;j+)if(!sj)&(distjtemp)/与源点相连的顶点u=j; temp=distj; /设置temp成为与源点相连的顶点权值su=true;for(int j1=0;j1n;j1+)if(!sj1)&(auj1MAX_VALUE)float newdist=distu+auj1; /算出与源点不直接相连的权值和if(newdistdistj1)distj1=newdist;prevj1=u;void path()for(int i=0;in;i+)if(i!=m&distiMAX_VALUE)cout由源到顶点i的最短路径为:(终点位置) i;int temp=i;dotemp=prevtemp;cout - temp;while(temp!=m);cout (源位置)。最短路径长度为:distiendl;void main()coutn;cout请分别对两顶点之间赋权值(若无此连接,赋0值,请注意两顶点之间的方向):endl;for(int i=0;in;i+)for(int j=0;jn;j+)if(i=j)continue;cout顶点i到顶点jaij;if(aij=0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025国网冀北电力有限公司第二批高校毕业生录用人选的考前自测高频考点模拟试题及答案详解(必刷)
- 2025贵州省水利投资(集团)有限责任公司招聘84人考前自测高频考点模拟试题及一套答案详解
- 2025南华大学附属南华医院招聘62人(湖南)模拟试卷有答案详解
- 2025福建厦门市集美第二小学产假顶岗教师招聘1人模拟试卷有完整答案详解
- 2025年金华磐安县卫健事业单位公开招聘工作人员29人考前自测高频考点模拟试题及答案详解参考
- 脐静脉畸形免疫机制-洞察与解读
- 2025年福建省南安市龙泉中学招聘15人模拟试卷完整参考答案详解
- 无形资产数字识别技术-洞察与解读
- 2025年隆昌市公开招聘社区工作者的(49人)模拟试卷及完整答案详解
- 班组安全培训禁令课件
- 《研究生入学教育》课件
- 汽车行业中的环境保护与可持续发展
- 打起手鼓唱起歌混声合唱简谱
- 空调安装免责协议
- QGW 201175-2019-金风陆上风力发电机组 塔架通用防腐技术规范
- 老友记第一季字幕
- 输电线路风偏计算基本方法
- 骨科概论课件
- 第5章光电成像系统
- GB/T 9117-2010带颈承插焊钢制管法兰
- GB/T 5455-2014纺织品燃烧性能垂直方向损毁长度、阴燃和续燃时间的测定
评论
0/150
提交评论