迪杰斯特拉算法(Dijkstra‘s algorithm)以及示例

news/2024/11/24 5:04:12/

迪杰斯特拉算法(Dijkstra's algorithm)是一种非常重要且有价值的算法。它被广泛应用于计算图中单源最短路径问题,在交通路线规划、网络路由、作业调度等领域有着广泛的应用。

迪杰斯特拉算法是由荷兰计算机科学家克劳德·迪杰斯特拉(Edsger W. Dijkstra)于1959年首次提出的。这个算法被用来计算单源最短路径,在图论和计算机科学领域里被广泛使用。迪杰斯特拉本人在发明这个算法时是在荷兰国家电讯公司工作,当时他正在研究如何通过计算机来规划路径。

迪杰斯特拉算法是用于求最短路径的一种算法。它是贪心算法的一种,通过不断地选取最短路径来逼近最终答案。算法流程如下:

  1. 初始化所有结点的最短路径为无穷大。
  2. 设置起点的最短路径为 0。
  3. 从起点开始,每次选取最短路径最小的结点,并将其周围的结点的最短路径更新。

重复步骤 3,直到所有结点的最短路径都被更新。

例子:

假设有一张图如下,求从结点1到结点4的最短路径。

  

初始化最短路径:

1: 0, 2: inf, 3: inf, 4: inf, 5: inf

设置起点1的最短路径为0,并开始更新周围结点的最短路径。

更新 2: 1+2=3, 3: 1+3=4

选择 2 作为新的当前结点

更新 4: 2+1=3, 5: 2+3=5

选择 4 作为新的当前结点

更新 5: 4+1=5

选择 5 作为新的当前结点

最终得到的最短路径为:1: 0, 2: 3, 3: 4, 4: 3, 5: 5

结点 1 -> 2 -> 4 -> 5

可以看到结点1到结点4的最短路径为1 -> 2 -> 4,距离为3。

注意迪杰斯特拉算法只适用于有向图或者边权非负的无向图,如果边权有负数,则需要使用其他算法,如贝尔man-福德算法。

迪杰斯特拉算法的最大优点是其简单易懂和时间复杂度较低,因此在实际应用中非常实用。它可以在稠密图和稀疏图中使用,对于边权均为非负数的图都可以使用。

   

转载说明:本文部分内容引用自电脑监控软件https://www.vipshare.com/archives/11008,转载请提供出处

 


http://www.ppmy.cn/news/527546.html

相关文章

迪杰斯特拉算法

Dijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。 Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,…

透彻理解迪杰斯特拉算法

Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,这个算法我主动学了三遍,第一主动学的时候,是看严蔚敏的《数据结构》,当时应该是学懂了,有点透彻地理解了这个算法,但是没有记录下来,后来就…

思杰技术的论坛网址(转)

https://www.demoffice.com/?cat11 分类:Citrix Citrix平台 – 软件和补丁下载(不定期更新) [……] 继续阅读 发布于2019年5月15日分类all、Citrix、常用资源标签SoftwaresCitrix平台 – 软件和补丁下载(不定期更新)有7条评论 如何通过XenServer PowerShell 脚…

迪杰斯特拉(Dijkstra)算法

基本思想 Dijkstra算法是一种典型的最短路径搜索算法,和之前的BFS和DFS算法类似,Dijkstra本质上是一种BFS搜索算法。 一般步骤如下: 建立两个集合S和U,S中存放已经确定了最短距离的点,U中放未放入S中的点。在S中pus…

迪杰斯特拉算法浅析

所谓的迪杰斯特拉算法,就是一个用来求一个图中某点到其它点的最短路径的算法。 大致方法: 遍历所有节点,找到离起点最近的一个点(那么这个点到起点的最小距离肯定是起点到这个点的这条边的权值),然后标记这…

日立电子显微镜维修电源柜检测方案

根据使用方反应的设备损坏原因为摔坏。由于非正常使用损坏造成不能正常工作,故存在二次故障的可能:1.摔过后的结构性损坏。2.因结构性损坏后造成电路异常而烧坏内部电气产品。实际需要对电源柜整体进行全面检测,因不同机型设备结构接线存在差…

日立mCA连接服务器显示地址异常,日立电梯Mca的故障代码是什么

满意答案 yue498744818 推荐于 2017.10.14 采纳率:41% 等级:11 已帮助:12960人 10 主微机故障11 副微机故障12 运行接触器短接故障1314 安全继电器短接故障15 安全回路断开故障16 软件WDT动作17 连续3次开门锁死 20 抱闸制动器短接故障21 …

oracle pfm,多平台监控管理 日立JP1/PFM 性能详解

【IT168 资讯】日立JP1经多年调研发现,企业要确保系统始终提供高效稳定的服务质量并能应对环境变化,IT规范化、自动化、运行监控三大关键因素必不可少。其中,运行监控上的应对体现在根据业务制定需求,全面监控整个IT系统。日立JP1…