APP下载

D ijkstra 算法的优化

2011-03-18简广宁

天津职业院校联合学报 2011年2期
关键词:排序优化

遇 娜,简广宁

(1.天津市红桥区职工大学,天津市 300131;2.天津城市建设学院,天津市 300384)

D ijkstra 算法的优化

遇 娜1,简广宁2

(1.天津市红桥区职工大学,天津市 300131;2.天津城市建设学院,天津市 300384)

Dijkstra算法是许多工程解决最短路径问题的理论基础,可用来找出图中指定节点到其他节点的最短距离,有着广泛的应用。文章通过分析传统Dijkstra算法的设计思想,提出该算法在实现方法上存在的一些不足之处,并从节约存储空间和提高运算效率方面对其进行了改进,并通过复杂性分析比较,得出这种改进算法的效率优于传统的Dijkstra算法。

最短路径 ;D ijkstra算法;邻接表;堆排序

最短路径问题是图论研究中一个重要课题。传统公认的求最短路径最好的算法是D ijkstra算法,它是由荷兰著名的计算机科学家艾兹格·迪科斯彻提出来的,可用来找出图中指定节点到其他节点的最短距离。其主要思想是从源点求出长度最短的一条路径,然后通过对路径长度迭代得到从源点到其他目标节点的最短路径。但随着所解决问题规模的增大,应用传统的D ijkstra算法会使时间和空间复杂度不断加大。因此,需对传统的Dijkstra算法进行了改进,提出采用邻接表和堆排序的一种新的优化方法。

一、传统的D ijkstra算法

1.算法的基本思想

D ijkstra算法用于计算一个源节点到所有其他节点的最短代价路径,它是按路径长度递增的次序来产生最短路径的算法。下面以邻接矩阵描述Dijkstra算法的实现过程。假设用带权的邻接矩阵Cost来表示具有N个结点的带权有向图G[3],Cost[i,j]表示弧的权值,如果从Vi到V j不通,则Cost[i,j]=∞。……

登录APP查看全文

猜你喜欢

排序优化
排排序
超限高层建筑结构设计与优化思考
民用建筑防烟排烟设计优化探讨
关于优化消防安全告知承诺的一些思考
一道优化题的几何解法
由“形”启“数”优化运算——以2021年解析几何高考题为例
恐怖排序
节日排序
刻舟求剑
基于低碳物流的公路运输优化