近期总结 2019/5/22

本文深入探讨了图论算法中的几种关键最短路径算法,包括Floyed算法、Dijkstra算法、Bellman-Ford算法及SPFA算法。文章对比了各种算法的时间复杂度和适用场景,如Floyed算法的暴力枚举,Dijkstra算法处理非负边权,Bellman-Ford算法对负边权的支持,以及SPFA算法的时间复杂度优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近学的图论算法整体来说理解还是好理解的,因为学的东西都有之前学过知识的影子,比如dp或者是贪心算法,图论算法就是以图为结构,点与点之间连通,通过循环控制进行求解。图论算法里边最重要的也是最短路径问题,这个问题有很多的算法可以来解决不同的问题,各有利弊。
1、Floyed算法也就是暴力枚举,通过把两个点之间拉长后,两个距离进行比较,然后互相替换,但这个算法是3重循环,对于大数据的求解可能会超时,(一定会超时),所以基本不推荐这个算法,但是比较好理解。
2、Dijkstra算法利用的是二重循环,时间复杂度n2,内容大概是,每一次循环都将所有的点重新重置一遍,但是每一次都可以使最初的点成为最后正确的最小值点,虽然时间复杂度减小了,但是问题是不可以处理负边权的情况,条件有所限制。
3、Bellman-Ford算法可以处理负边权情况,但是无法处理负边权回路情况,条件限制。核心思想和Sijkstra算法大致相同,之后详解。
4、SPFA算法是时间复杂度最小的,也是比较好用的一种求解方法,这个思想和广度搜索大致相同,但区别是点在出队列后可能回到队列中继续求解。
这些算法除了第一个是暴力求解外,都是通过一个dis保存距离,还有指针进行指向对应的位置。

明天的比赛要加油呀!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值