



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Dijkstra算法的流程图 Dijkstra算法的流程图 需求和规格讲明: Dijkstra算法是典型最短路算法,用于运算一个节点到其他所有节点的最短路径。要紧特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历运算的节点专门多,因此效率低。 算法本身并不是按照我们的思维适应一一求解从原点到第一个点的最短路径,再到第二个点的最短路径,直至最后求解完成到第n个点的最短 路径, 而是求解从原点动身的各有向路径的从小到大的排列, 然而算法最终确实得到了从原点到图中其余各点的最短路径, 能够讲这是个副产品, 关于算法的终结条件也应该以求得了原
2、点到图中其余各点的最短路径为宜。清晰了算法的这种巧妙构思后,明白得算法本身就不是难题了。实现注释: 想要实现的功能: Dijkstra算法是用来求任意两个顶点之间的最短路径。 在该实验中, 我们用邻接矩阵来储备图。 在该程序中设置一个二维数组来储备任意两个顶点之间的边的权值。 用户能够将任意一个图的信息通过键盘输入, 让后在输入要查找的两个顶点, 程序能够自动求出这两个顶点之间的最短路径。 差不多实现的功能: 在该实验中,我们用邻接矩阵来储备图。在该程序中设置一个全局变量的二维数组,用它来储备任意两个顶点之间的边的权值。然后通过最短路径的运算,输入从任意两个顶点之间的最短路径的大小。 用户手册
3、: 关于改程序,不需要客户进行什么复杂的输入,关键是用来存放图的任意两个顶点之间的边的权值的二维数组的初始化,立即要通过Dijkstra算 法求最短路径的图各条边的权值放入二维数组中。 如此程序就能够自动的运算出任意两个顶点之间的最短路径同时进行输出。 设计思想: s为源,wu,v为点u和v之间的边的长度,结果储存在dist 初始化:源的距离dists设为0,其他的点距离设为无穷大,同时把所有的点状态设为没有扩展过。 循环n-1次: 1 .在没有扩展过的点中取一距离最小的点u,并将其状态设为已扩展。 2 .关于每个与u相邻的点v,如果distu+wu,vdistv,那么把distv更新成更短的
4、距离distu+wu,v。现在到点v的最短路径上,前一个节点即为u。 终止:现在关于任意的u,distu确实是s到u的距离。 程序源代码: #include#includeConio.h#definetrue1#definefalse0#defineI9999 #defineN5 目 intcostNN=0,3,I,8,I,3,0,5,I,4,I,5,0,4,7,8,I,4,0,2,I,4,7,2,0; intdistN; 前最短路径长度 intv0=A-65;/初始点 是A intmain() ( intfinalN,i,v,w,min,k; printf(n任意两个定点之间白最短路径如下:
5、nn); for(k=0;kN;k+)( /无穷大 /都市顶点的数 /储备当 /初始化最短路径长度数据,所有数据都不是最终数据 for(v=0;vN;v+)(finalv=false; distv=costv0v; /第一选v0到v0的距离一定最短,最终数据finalv0=true; /查找另外N-1个结点 for(i=0;iN-1;i+)( min=I;/初始最短长度无穷大 /查找最短的边 for(w=0;wN;w+)( if(!finalw&distwmin)( min=distw; v=w; ) finalv=true;/加入新边 for(w=0;wN;w+) /更新dist数据
6、 if(!finalw&distv+costvwdistw) distw=distv+costvw; ) ) ) for(i=0;i%c:%2dt”,v0+65,i+65,disti); ) B B- -ftft: 3 R R- -R R: R R B B- -yCyC: snsn- -D=D= R R- -EE: 4 4C C- -AA: : 9 C C- -BB; 5 5 e-c: n n C C- -D:D: 4 4 C C- -E:E: C C: s s D D- -BB: & & P P- -MJMJ: 4 4 e e D D- -EE: 2 2E E- -AA: 7 7 E E- -DD: 4 4 E E- -CC: E E- -DD: 2 2 E E- -EE: 3 3ressanyto1仁口qltLiiUP. 显现的咨询题是在查找最短路径和更新dist数据的两个fo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 统编版六年级上册语文阅读兴趣培养计划
- 上海文化传媒企业2025年人力资源总结与2025年工作计划
- 夏季高温生物医药厂房施工措施
- 台风期间通讯保障措施
- 小学二年级劳动教育课程内容拓展计划
- (部编教材)一年级语文上册第三单元教学计划
- 铁路货运安全的技术组织措施
- 北京四中2025年物理高二下期末监测试题含解析
- 人教版小学二年级数学下册教学辅助资源计划
- 内蒙古自治区第一机械制造有限公司第一中学2025届高一物理第二学期期末联考模拟试题含解析
- 三明市永安林业股份有限公司招聘笔试真题2024
- 行政执法文书制作课件
- 2025潞安化工集团有限公司招聘760人笔试参考题库附带答案详解
- 2025年离婚协议书打印
- T/CECS 10381-2024滤池用不锈钢滤板及配套组件
- 农业国企面试题库及答案
- 2025年上半年财务工作总结模版
- 低钠血症护理
- 店铺装修消防合同协议
- 护士资格证考试口腔护理试题及答案
- 2025年二级造价师安装工程真题卷(附解析)
评论
0/150
提交评论