7、狄克斯特拉算法
加權圖——提高或降低某些邊的權重。
廣度優先搜索——找出的是段數最少的路徑。如果你要找出最快的路徑,可使用另一種算法——狄克斯特拉算法(Dijkstra's algorithm)。
狄克斯特拉算法用於每條邊都有關聯數字的圖,這些數字稱為權重(weight)。
帶權重的圖稱為加權圖(weighted graph),不帶權重的圖稱為非加權圖(weight graph)。
要計算非加權圖中的最短路徑,咳使用廣度優先搜索。要計算加權圖中的最短路徑,可使用狄克斯特拉算法。圖還可能有環。環,你可以從A點出發,走一圈后又回到A點。
無向圖意味着兩個節點彼此指向對方,其實就是環。
在無向圖中,每條邊都是一個環。狄克斯特拉算法智適用於有向無環圖(directed acyclic,DAG)。
廣度優先搜索用於在非加權途中查找最短路徑。
狄克斯特拉算法用於在加權途中查找最短路徑。
僅當權重為正時狄克斯特拉算法才管用。
如果圖中包含負權邊,請使用貝爾曼-福德算法。