前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >dijkstra算法原理是什么?dijkstra算法的缺点是什么?

dijkstra算法原理是什么?dijkstra算法的缺点是什么?

原创
作者头像
用户8739990
修改2021-06-25 17:58:28
8.4K0
修改2021-06-25 17:58:28
举报
文章被收录于专栏:用户8739990的专栏

dijkstra算法也被称为狄克斯特拉算法,是由一个名为狄克斯特拉的荷兰科学家提出的,这种算法是计算从一个顶点到其他各个顶点的最短路径,虽然看上去很抽象,但是在实际生活中应用非常广泛,比如在网络中寻找路由器的最短路径就是通过该种算法实现的。那么dijkstra算法原理是什么?dijkstra算法的缺点是什么?

一、dijkstra算法原理是什么?

dijkstra算法从起始点开始,并以起始点为中心逐步向外扩展,直至扩展到终点为止,可以直接在有权图中计算出最短路径。这种算法所采用的是一种贪心模式,解决从一个节点到另一个节点的最短路径问题,在每一次转换时,所选择的下一个节点都是距离最近的节点,所以每一次转换的路径都是最短的,为了保证路径为最短的,在每一次转换后,都要重新检测各个节点之间的距离。

二、dijkstra算法的缺点是什么?

在dijkstra算法的应用过程中,某些有权图的边可能为负,也就是说,即使有权图中并不包含可以从节点到达的负权回路,dijkstra算法依然是可以继续应用的,但是假如存在一个可以直接从节点到达的负回路,那么算法将无法进行操作,最短路径的权也无法成立,使得最短路径无法找到。总而言之,当有权图中出现了负权的话,dijkstra算法就不成立了,这也是该算法的最大缺陷。

以上为大家介绍了dijkstra算法的原理以及缺点,dijkstra算法不管是在实际生活中,还是在网络中都有非常广泛的应用,在使用时应当尽力避免算法的缺陷,才能最大程度发挥算法优势。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档