这个能够判断是否有负权边,但是不能计算有负圈的图,也就是说可以有负的权边,但是不能含有负权的环。
适用条件:
1.单源最短路径(从源点s到其它所有顶点v);2.有向图&无向图(无向图可以看作(u,v),(v,u)同属于边集E的有向图);(如1 2 -3, 2 1 -3 两次输入 无向图)3.边权可正可负(如有负权回路输出错误提示);
核心代码:
int bellman_ford()
{
for(int i = 1; i <= n-1; i++ ){
for(int j = 1; j <= m; j++ ){
if(dist[edge[j].v] > dist[edge[j].u] + edge[j].w)
{