首页 > 其他 > 详细

SPFA判负环模板

时间:2019-07-21 19:51:49      阅读:64      评论:0      收藏:0      [点我收藏+]
void DFS_SPFA(int u){ 
  if(flag)
   return;
 vis[u]=true;
  for(int i=head[u];i;i=edges[i].nxt){
    if(flag)
     return;
   int v=edges[i].v;
    if(d[u]+edges[i].t<d[v]){
            d[v]=d[u]+edges[i].t;
            if(vis[v]){
              flag=true;
                 return;
            }
             else
              DFS_SPFA(v);
      }
  }
  vis[u]=false;
}

 

SPFA判负环
BFS 当?个点?队超过n次 则存在负环 慢!
DFS 当?个点在最短路中出现两次 快!

SPFA判负环模板

原文:https://www.cnblogs.com/Tidoblogs/p/11222342.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!