近期总结 2019/5/22

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

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

发布了90 篇原创文章 · 获赞 15 · 访问量 3154

猜你喜欢

转载自blog.csdn.net/qq_43656233/article/details/90453921
今日推荐