您当前的位置: 首页 >  算法

*DDL_GzmBlog

暂无认证

  • 1浏览

    0关注

    605博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

[算法总结] 最短路算法归纳2 --不会详讲 适合还不怎么会的新手!

*DDL_GzmBlog 发布时间:2021-04-18 18:33:55 ,浏览量:1

>>>>本篇博客希望帮助你们更好的记忆模板,如果需要深刻理解还需日后的刷题巩固>>>>>

废话不多说我们先上图

在这里插入图片描述 [图片来源于]https://www.acwing.com/blog/content/140/ 如侵必删

Bellman-ford(spfa的前置技能—目前对我来说很少用)

具体思路:

  • 迭代n次
  • 循环所有边 a b w 存在一条从a走向b的边 权重w
  • dist[b] = min(dis[b],dist[a]+w) 松弛操作
  • 从而 所有的边都 dist[b]=n也就是从1~x至少经过了n条边 所以至少经过了n+1个点

    代码如下:

    bool spfa()
    {
        queue q;
    
        for (int i = 1; i  dist[t] + w[i])
                {
                    dist[j] = dist[t] + w[i];
                    cnt[j] = cnt[t] + 1;
    
                    if (cnt[j] >= n) return true;
                    if (!st[j])
                    {
                        q.push(j);
                        st[j] = true;
                    }
                }
            }
        }
    
        return false;
    }
    
关注
打赏
1657615554
查看更多评论
立即登录/注册

微信扫码登录

0.0443s