![迪杰斯特拉算法_第1页](http://file4.renrendoc.com/view10/M01/36/31/wKhkGWWjZaGAJcPFAACHNX87L5Y169.jpg)
![迪杰斯特拉算法_第2页](http://file4.renrendoc.com/view10/M01/36/31/wKhkGWWjZaGAJcPFAACHNX87L5Y1692.jpg)
![迪杰斯特拉算法_第3页](http://file4.renrendoc.com/view10/M01/36/31/wKhkGWWjZaGAJcPFAACHNX87L5Y1693.jpg)
![迪杰斯特拉算法_第4页](http://file4.renrendoc.com/view10/M01/36/31/wKhkGWWjZaGAJcPFAACHNX87L5Y1694.jpg)
![迪杰斯特拉算法_第5页](http://file4.renrendoc.com/view10/M01/36/31/wKhkGWWjZaGAJcPFAACHNX87L5Y1695.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
迪杰斯特拉算法实现第九组11123529-罗凯耀11123575-王鸣迪杰斯特拉--算法思想按从某顶点到其它顶点的路径长度递增的方式,逐渐求到各顶点的最短路径。设给定源点为Vs,S为已求得最短路径的终点集,开始时令S={Vs}。当求得第一条最短路径(Vs,Vi)后,S为{Vs,Vi}。根据以下结论可求下一条最短路径。设下一条最短路径终点为Vj,则Vj只有:◆
源点到终点有直接的弧<Vs,Vj>;◆
从Vs出发到Vj的这条最短路径所经过的所有中间顶点必定在S中。即只有这条最短路径的最后一条弧才是从S内某个顶点连接到S外的顶点Vj。若定义一个数组dist[n],其每个dist[i]分量保存从Vs出发中间只经过集合S中的顶点而到达Vi的所有路径中长度最小的路径长度值,则下一条最短路径的终点Vj必定是不在S中且值最小的顶点,即:dist[i]=Min{dist[k]|Vk∈V-S}利用上述公式就可以依次找出下一条最短路径。迪杰斯特拉-算法思想源迪杰斯特拉算法
--数据组织源有n个结点的网络数据源已确定结点集S待选结点集V-S结点临时最短路径长度结点临时最短路径迪杰斯特拉算法—步骤
①令S={Vs},用带权的邻接矩阵表示有向图,对图中每个顶点Vi按以下原则置初值:②
选择一个顶点Vj,使得:
Distance[j]=Min{Distance[k]|Vk∈V-S}Vj就是求得的下一条最短路径终点,将Vj并入到S中,即S=S∪{Vj}。③对V-S中的每个顶点Vk,修改dist[k],方法是:若Distance[j]+Wjk<Distance[k],则修改为:Distance[k]=Distance[j]+Wjk(
Vk∈V-S)④重复②,③,直到S=V为止。Wsii≠s且<vs,vi>∈E,wsi为弧上的权值∞i≠s且<vs,vi>不属于Edist[i]=0i=s迪杰斯特拉算法—实现voidDijkstra(MGraphg,intstart,intend){intdist[MAXV],path[MAXV];ints[MAXV];intmindis,i,j,u;for(i=0;i<g.n;i++){dist[i]=g.edges[start][i];//dist数组初始化s[i]=0;if(g.edges[start][i]<INF) path[i]=start;else path[i]=-1;//path数组初始化}s[start]=1;//顶点start加入顶点集合s path[start]=0;for(i=0;i<g.n;i++)//选择不在集合s中且具有最短路径的顶点{mindis=INF;for(j=0;j<g.n;j++){if(s[j]==0&&dist[j]<mindis){u=j;mindis=dist[j];}}s[u]=1;//将顶点u加入集合for(j=0;j<g.n;j++)//修改dist和path{if(s[j]==0){ if((g.edges[u][j]<INF)&&(dist[u]+g.edges[u][j]<dist[j])){dist[j]=dist[u]+g.edges[u][j];path[j]=u;}}}}Dispath(g,dist,path,s,g.n,start,end);}已完成结点集S,本次最近点ABCDEF1{}DistancePath2DistancePath3DistancePath4DistancePath5(n-1)DistancePathEFDBCA8253018107154úúúúúúúúûùêêêêêêêêë饥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥0181004070158023050BACDEFBACDEF运算过程表邻接矩阵图数据源——邻接矩阵已确定结点集S待选结点集V-S结点临时最短路径长度——Distance数组结点临时最短路径——Path数组Dijkstra算法--数据组织已完成结点集,本次最近点ABCDEF1{A,},CDistance0¥530¥¥PathA-1AA-1-12DistancePath3DistancePath4DistancePath5(n-1)DistancePath运算过程表Dijkstra算法—例子EFDBCA8253018107154úúúúúúúúûùêêêêêêêêë饥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥0181004070158023050BACDEFBACDEF邻接矩阵图例:计算从A点出发的单源最短路径已完成结点集,本次最近点ABCDEF1{A,},CDistance0¥530¥¥PathA-1AA-1-12{A,C},FDistance020530¥12PathACAA-1C3DistancePath4DistancePath5(n-1)DistancePath运算过程表Dijkstra算法—例子EFDBCA8253018107154úúúúúúúúûùêêêêêêêêë饥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥0181004070158023050BACDEFBACDEF邻接矩阵图例:计算从A点出发的单源最短路径已完成结点集,本次最近点ABCDEF1{A,},CDistance0¥530¥¥PathA-1AA-1-12{A,C},FDistance020530¥12PathACAA-1C3{A,C,F},BDistance0205223012PathACAFFC4DistancePath5(n-1)DistancePath运算过程表Dijkstra算法—例子EFDBCA8253018107154úúúúúúúúûùêêêêêêêêë饥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥0181004070158023050BACDEFBACDEF邻接矩阵图例:计算从A点出发的单源最短路径已完成结点集,本次最近点ABCDEF1{A,},CDistance0¥530¥¥PathA-1AA-1-12{A,C},FDistance020530¥12PathACAA-1C3{A,C,F},BDistance0205223012PathACAFFC4{A,C,F,B},DDistance0205222812PathACAFBC5(n-1)DistancePath运算过程表Dijkstra算法—例子EFDBCA8253018107154úúúúúúúúûùêêêêêêêêë饥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥0181004070158023050BACDEFBACDEF邻接矩阵图例:计算从A点出发的单源最短路径已完成结点集,本次最近点ABCDEF1{A,},CDistance0¥530¥¥PathA-1AA-1-12{A,C},FDistance020530¥12PathACAA-1C3{A,C,F},BDistance0205223012PathACAFFC4{A,C,F,B},DDistance0205222812PathACAFBC5(n-1){A,C,F,B,D},EDistance0205222812PathACAFBC运算过程表Dijkstra算法—例子EFDBCA8253018107154úúúúúúúúûùêêêêêêêêë饥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥0181004070158023050BACDEFBACDEF邻接矩阵图例:计算从A点出发的单源最短路径最短路径结点集ABCDEF{A,C,F,B,D,E}Distance0205222812PathACAFBC运算结果Dijkstra算法—例子úúúúúúúúûùêêêêêêêêë饥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥0181004070158023050BACDE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教部编版历史九年级下册:第11课 《苏联的社会主义建设》 听课评课记录
- 《沟通中外文明的“丝绸之路”》名师听课评课记录(新部编人教版七年级上册历史)
- 生物医药产业园监理合同(2篇)
- 电力价格调整合同(2篇)
- 五年级上册数学听评课记录《7.1 谁先走》(3)-北师大版
- 部编人教版历史九年级上册第15课《探寻新航路》听课评课记录
- 湘教版数学八年级上册《小结练习》听评课记录5
- 人教版数学七年级上册3.2《解一元一次方程(一)-合并同类项与移项》听评课记录1
- 五年级上册数学听评课记录-总复习2-北师大版
- 新版湘教版秋八年级数学上册第二章三角形课题三角形的内角和定理听评课记录
- 必修3《政治与法治》 选择题专练50题 含解析-备战2025年高考政治考试易错题(新高考专用)
- 二零二五版电商企业兼职财务顾问雇用协议3篇
- 课题申报参考:流视角下社区生活圈的适老化评价与空间优化研究-以沈阳市为例
- 《openEuler操作系统》考试复习题库(含答案)
- 17J008挡土墙(重力式、衡重式、悬臂式)图示图集
- 2024-2025学年人教版生物八年级上册期末综合测试卷
- 大数据背景下网络舆情成因及治理
- 道教系统诸神仙位宝诰全谱
- 中国经济转型导论-政府与市场的关系课件
- 新视野大学英语读写教程 第三版 Book 2 unit 8 教案 讲稿
- 村务公开表格
评论
0/150
提交评论