dijkstra算法为什么不能有负边?


因为Dijkstra算法在计算最短路径时,不会因为负边的出现而更新已经计算过(收录过)的顶点的路径长度,

这样一来,在存在负边的图中,就可能有某些顶点最终计算出的路径长度不是最短的长度。

假设前两个数字表示顶点,第三个数字表示边的权值或路径长度,

考虑有三个顶点,三条边:(1,2,1),(1,3,2),(2,3,-3),最终计算出的路径长度是(1,2,1),(1,3,-2),但明显存在(1,2,-1)这条更短的路径。

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM