Dijkstra-解决最短路径问题
生活随笔
收集整理的這篇文章主要介紹了
Dijkstra-解决最短路径问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、從A開始(也可以從其他點,此處選擇從A)
將A 加入樹,A被圈紅
列出最短路徑數組:
2、
確定從A到其他頂點的最短距離為50,A-->B
將B加入樹:
更新最短路徑數組:
比較到C的距離:
AB+BC=110<無窮,更新到C的距離為110:
比較到D的距離:
AB+BD=140>AD80不用更新到D的距離
比較到E的距離:
不用更新,至此第二輪比較完成,除了B外,A到其他頂點的最短距離為80,A-->D,將D加入樹
3、開始新一輪的更新最短路徑數組:
比較到C的距離:
AD+DC=100<A-->C110,更新到C的最短距離:
比較到E的距離:
AD+DE=70<A-->E無窮,更新到E的最短距離:
至此,完成第三輪比較,及數組更新:
除B、D外,A到其他頂點的最短距離為100,A-->C,因此,將C加入樹
4、開始第4輪的更新數組:
比較到E的距離:
AC100+CE40=140<AE150更新到E的最短距離:
至此,完成了第4輪數組的更新,除在樹中的頂點外,最短距離為140,A-->E
將E加入樹:
所有到A的最短路徑都找到了。圖中加粗黑線。
總結
以上是生活随笔為你收集整理的Dijkstra-解决最短路径问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在PhotoShop中改像素m*n
- 下一篇: 带权图的最小生成树