Dijkstra算法是圖論中經典的最短路徑算法之一,主要用於解決單源最短路徑問題。html
單源最短路徑問題,即求某個源節點到其餘各個節點的最短路徑。算法
Dijkstra算法採用了貪心算法的思想,如圖求1號節點到其餘各個節點最短路徑。3d
首先從1號節點出發,擴展已知的最短路徑集合,每次優先「鬆弛」最近的節點所相連的邊,直到全部擴展範圍覆蓋所有,所得即最優結果。orm
因爲負權值使得上一次最優結果積累失效,因此Dijkstra算法不能解決負權路問題。htm