付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年北京市朝阳区高三期末高考数学试卷试题(含答案详解)
- 2026届新疆维吾尔自治区克拉玛依市第十三中学生物高三上期末达标检测模拟试题含解析
- 智能控制 课件 第六章-学习控制
- 内河海事执法培训
- 欢送仪式活动策划方案(3篇)
- 管监责任实施管理制度(3篇)
- 网络销售配送管理制度内容(3篇)
- 苗圃技术管理制度内容(3篇)
- 兽药生产技术课程
- 项目门卫值班管理制度内容(3篇)
- 质检员班组级安全培训课件
- 蓖麻醇酸锌复合除味剂的制备及其除臭效能研究
- 海岸带调查技术规程 国家海洋局908专项办公室编
- 危重病人的院前急救课件
- 矿井突水机理研究-洞察及研究
- 2025年九江职业大学单招《职业适应性测试》模拟试题(基础题)附答案详解
- 防御性驾驶安全培训内容
- 钻探原始班报表试行版
- 青年积分培养管理办法
- 市级应急广播管理制度
- 智慧检验与大数据分析知到智慧树期末考试答案题库2025年温州医科大学
评论
0/150
提交评论