1 | 2 | 3 | |
1 | 0 | 8 | 9 |
2 | 10 | 0 | 10 |
3 | 10 | -2 | 0 |
先看樣例再解釋,看鄰接矩陣會發現, 如果用dijkstra算1-2的最短路因為貪心思想所以得到的結果是8,但明顯可以看到1-3-2最短,結果為7;這是為什么呢?
因為dijkstra用了貪心的思想,每次選取的是當前最短的邊進行松弛,當邊都是正權時,松弛后邊權一定比當前最短邊大,所以滿足貪心的條件,有了負邊后不滿足貪心的條件所以不能用dijkstra計算帶有負邊的單源最短路
1 | 2 | 3 | |
1 | 0 | 8 | 9 |
2 | 10 | 0 | 10 |
3 | 10 | -2 | 0 |
先看樣例再解釋,看鄰接矩陣會發現, 如果用dijkstra算1-2的最短路因為貪心思想所以得到的結果是8,但明顯可以看到1-3-2最短,結果為7;這是為什么呢?
因為dijkstra用了貪心的思想,每次選取的是當前最短的邊進行松弛,當邊都是正權時,松弛后邊權一定比當前最短邊大,所以滿足貪心的條件,有了負邊后不滿足貪心的條件所以不能用dijkstra計算帶有負邊的單源最短路
本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。