Dijkstra算法在運行過程中維持的關鍵信息是一組節點集合S,從源節點s到該集合中每個節點之間的最短路徑已經被找到。算法重複從節點集合V-S中選擇最短路徑估計最小的節點u,將u加入到集合S,然後對所有從u出發的邊進行鬆弛操作。
當把一個節點選入集合S時,即意味着已經找到了從源點到這個點的最短路徑,但若存在負權邊,就與這個前提矛盾,可能會出現得出的距離加上負權後比已經得到S中的最短路徑還短。(無法回溯)
Dijkstra算法在運行過程中維持的關鍵信息是一組節點集合S,從源節點s到該集合中每個節點之間的最短路徑已經被找到。算法重複從節點集合V-S中選擇最短路徑估計最小的節點u,將u加入到集合S,然後對所有從u出發的邊進行鬆弛操作。
當把一個節點選入集合S時,即意味着已經找到了從源點到這個點的最短路徑,但若存在負權邊,就與這個前提矛盾,可能會出現得出的距離加上負權後比已經得到S中的最短路徑還短。(無法回溯)