八十七、探究最短路问题:Dijkstra算法
生活随笔
收集整理的這篇文章主要介紹了
八十七、探究最短路问题:Dijkstra算法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
@Author:Runsen
在上次寫道關于數據結構的圖,圖的算法的考點只有一個:最短路問題。
最短路問題
最短路問題(Shortest Path Problems): 給定一個網絡,網絡的邊上有權重,找一條從給定起點到給定終點的路徑使路徑上的邊權重總和最小。
比如上圖的:圖中點1到點4的最短路徑長度應為3(從1到2到4)。
最短路問題常用Dijkstra算法解決
Dijkstra算法
Dijkstra算法是典型的單源最短路徑算法,用于計算一個節點到其他所有節點的最短路徑。主要特點是以起始點為中心向外層層擴展,直到擴展到終點為止。
比如,上圖Dijkstra算法就是不斷地尋找開始節點到鄰居節點的所有的路徑,將最初的距離設置為最短距離,然后不斷的更新節鄰居節點的最短距離,直到最遠的節點的最短距離求解出來的過程。
文字描述不清楚,看下面的動圖。
將圖上的頂點分為已訪問visited和未訪問node兩個集合。
每次從visited向外拓展一個點,拓展規則是在可更新的點里是距離最小的。
我們還是以上面的圖為例
總結
以上是生活随笔為你收集整理的八十七、探究最短路问题:Dijkstra算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 好福利怎么报销医药费
- 下一篇: 九十二、动态规划系列之股票问题(上)