博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
最短路径(迪杰斯特拉算法)- 数据结构和算法64
阅读量:6293 次
发布时间:2019-06-22

本文共 944 字,大约阅读时间需要 3 分钟。

最短路径(迪杰斯特拉算法)

 

让编程改变世界

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的最短路径,而是一步步求出它们之间顶点的最短路径,过程中都是基于已经求出的最短路径的基础上,求得更远顶点的最短路径,最终得到你要的结果。   如果还不大明白,没关系,现在小甲鱼带着大家一起来解读代码,把自己模拟成计算机,模拟代码的运行,再次去理解它的思想。
代码下载: [buy]   [/buy] [Downlink href='http://kuai.xunlei.com/d/BdsUAwIS1QCigrdR76b']视频下载[/Downlink]

转载于:https://www.cnblogs.com/LoveFishC/archive/2013/06/12/3846339.html

你可能感兴趣的文章
Web服务器的配置与管理(4) 配置访问权限和安全
查看>>
ClientScriptManager与ScriptManager向客户端注册脚本的区别
查看>>
js和php中几种生成验证码的方式
查看>>
android UI进阶之仿iphone的tab效果1
查看>>
这是我的第1个C#程序(向控制台输出一句话)
查看>>
html
查看>>
Xqk.Data数据框架开发指南:丰富的、灵活的查询方法(第三部分:SqlField)
查看>>
颜色空间系列4: RGB和YDbDr颜色空间的转换及优化算法
查看>>
Unity C# 设计模式(七)适配器模式
查看>>
Lancel sac négociation avec insistance que nous pourrions réaliser de quelle route
查看>>
空白表单提交到后台的数据类型总结(java)
查看>>
Vue问题区
查看>>
[原]Unity3D深入浅出 - Shader基础开发
查看>>
netty之ByteBuf详解
查看>>
数据泵导出oracle 10g数据库
查看>>
LYSE-模块
查看>>
Date Picker和UITool Bar控件简单介绍
查看>>
sql server 实现多表连接查询
查看>>
HTTP 1.1与HTTP 1.0的比较
查看>>
如何在命令行脚本中启动带参数的Windows服务
查看>>