最短路径(迪杰斯特拉算法)- 数据结构和算法64
2013-06-12 23:18
369 查看
最短路径(迪杰斯特拉算法)
让编程改变世界Change the world by program
最短路径(迪杰斯特拉算法)
我们时常会面临着对路径选择的决策问题,例如在中国的一些一线城市如北京、上海、广州、深圳等,一般从A点到到达B点都要通过几次地铁、公交的换乘才可以到达。有些朋友想用最短对的时间,有些朋友想花最少的金钱,这就涉及到不同的方案,那么如何才能最快的计算出最佳的方案呢?
[caption id="attachment_2631" align="alignnone" width="597"]
最短路径求法[/caption]
在网图和非网图中,最短路径的含义是不同的。
网图是两顶点经过的边上权值之和最少的路径。非网图是两顶点之间经过的边数最少的路径。
我们把路径起始的第一个顶点称为源点,最后一个顶点称为终点。
关于最短路径的算法,我们会介绍两种:
迪杰斯特拉算法(Dijkstra)弗洛伊德算法(Floyd)
求V0到V8的最短路径
[caption id="attachment_2632" align="alignnone" width="500"]迪杰斯特拉算法[/caption]
你找到了吗
[caption id="attachment_2633" align="alignnone" width="500"]迪杰斯特拉算法[/caption]
迪杰斯特拉算法原理
好了,我想你大概明白了,这个迪杰斯特拉算法是如何工作的。它并不是一下子就求出了V0到V8的最短路径,而是一步步求出它们之间顶点的最短路径,过程中都是基于已经求出的最短路径的基础上,求得更远顶点的最短路径,最终得到你要的结果。
如果还不大明白,没关系,现在小甲鱼带着大家一起来解读代码,把自己模拟成计算机,模拟代码的运行,再次去理解它的思想。
代码下载:dijkstra.c
[buy] 获得所有教学视频、课件、源代码等资源打包 [/buy]
[Downlink href='http://kuai.xunlei.com/d/BdsUAwIS1QCigrdR76b']视频下载[/Downlink]
相关文章推荐
- 最短路径(迪杰斯特拉算法)- 数据结构和算法64
- c语言实现求最短路径(迪杰斯特拉算法,《数据结构》算法7.15)
- 7-11-最短路径算法-图-第7章-《数据结构》课本源码-严蔚敏吴伟民版
- PAT 数据结构 06-图5. 旅游规划(25)Dijkstra最短路径算法
- 数据结构-迪克特斯拉算法(最短路径)
- (Dijkstra)迪杰斯特拉算法-最短路径算法
- [数据结构]--图(图的遍历,最小生成树,最短路径算法)
- 数据结构 18 图 最短路径-迪杰斯特拉最短算法
- 数据结构_图_最短路径_弗洛伊德(Floyed)算法
- 最短路径算法之一-------迪杰斯特拉算法
- 用java编写的一个迪杰斯特拉算法(单源最短路径算法,Dijkstra算法)。
- 数据结构-图-最短路径(1)迪杰斯特拉算法构造
- 【数据结构】算法7.15 Dijkstra算法 单源点最短路径
- 数据结构_图_最短路径_狄杰斯特拉(Dijkstra)算法
- [链接]最短路径的几种算法[迪杰斯特拉算法][Floyd算法]
- Python数据结构与算法之图的最短路径(Dijkstra算法)完整实例
- 最短路径算法Dijkstra算法(迪杰斯特拉算法)
- python数据结构与算法——图的最短路径(Floyd-Warshall算法)
- (数据结构)图的应用,一个简单的学校地图.包含的内容:图的最短路径算法 和 图的深度优先遍历算法
- 图(最短路径算法————迪杰斯特拉算法和弗洛伊德算法)