请问BellmanFord算法判断负权环是否也可以使用和Floyed一样的方法?
来源:12-8 负权环
martin123_
2019-10-04
如题
写回答
1回答
-
liuyubobobo
2019-10-04
不可以。因为 Bellman-Ford 是单源最短路径,只是从一个源点出发。所以直接看 dis[s][s] 是否是负数,只能看出来有没有通过 s 的负权环。但是一个负权环可以不通过 s。
但是对于 floyd 算法来说,由于求的是所有点对最短路径,而一个负权环肯定通过某一个点,所以检查所有的 dis[v][v] 是有效的。
继续加油。
032019-10-04
相似问题