Dijkstra算法
1.算法基本介绍
Dijkstra 算法是一个基于「贪心」、「广度优先搜索」、「动态规划」求一个图中一个点到其他所有点的最短路径的算法,时间复杂度 O(n2)。
Dijkstra算法通常是求解单源最短路中最快的算法,但它无法处理存在负权边的情况(原因在正确性证明中)。Dijkstra本质上是一种贪心算法,通过不断调整每个点的“当前距离”最终得到最优结果,其实后面要讲到的几种算法也大都是采用这种步步逼近的手段。这种不断调整的过程,维基百科上面称为“relax"。以上可能有点抽象,下面是算法的流程。
图解:
假设有下面这个图:
Dijkstra 算法将会寻找出图中节点 0
到所有其他节点的最短路径。
标签:dist,路径,算法,距离,访问,Dijkstra,节点 From: https://www.cnblogs.com/KAI040522/p/17837321.html