图的应用1---单源最短路径问题
生活随笔
收集整理的這篇文章主要介紹了
图的应用1---单源最短路径问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最短路徑介紹
最短路徑問題是圖論研究中的一個經典算法問題,旨在尋找圖中兩結點之間的最短路徑。 算法具體的形式包括:
在無向圖中該問題與確定起點的問題完全等同,在有向圖中該問題等同于把所有路徑方向反轉的確定起點的問題。
解決方法
用于解決最短路徑問題的算法被稱做“最短路徑算法”, 有時被簡稱作“路徑算法”。 最常用的路徑算法有:
Dijkstra算法
SPFA算法\Bellman-Ford算法
Floyd算法\Floyd-Warshall算法
Johnson算法
A*算法
單源最短路徑
問題描述
這個問題通常稱為單源最短路徑問題。
Dijkstra算法的解決方案
算法思路
S集合包含已求出的最短路徑的點(以及相應的最短長度),
U集合包含未求出最短路徑的點(以及A到該點的路徑,注意如上圖所示,A->C由于沒有直接相連,初始時為∞)
U集合初始時為:
A->B = 4,
A->C = ∞,
A->D = 2,
A->E = ∞,
敲黑板!!!接下來要進行核心兩步驟了
算法圖解
D->B = 1,
D->C = 1,
D->E = 7,
所以,此時:
A->D->B = 3,
A->D->C = 3,
A->D->E = 7,
比起第一步的:
A->B = 4,
A->C = ∞,
A->D = 2,
A->E = ∞,
所以,我們要更新U集合!使之到其余頂點的路是比之前來說短的!
參考
作者:殷天文 鏈接:https://www.jianshu.com/p/ff6db00ad866
總結
以上是生活随笔為你收集整理的图的应用1---单源最短路径问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CSDN Wanz's Blog 第一记
- 下一篇: 苹果官网罕见打折,iPhone13全系优