![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论
程序员世杰
公众号『程序员世杰』,就职过各互联网大厂,资深码农,专注Java后端技术栈、AIGC等领域的技术分享
展开
-
图论最短路径算法(二)Dijkstra算法(迪杰斯特拉算法)
文章目录【初识】【算法描述】【算法分析&思想讲解】【算法图解】【应用场景】【例1】最短路径问题【初识】Dijkstra算法用来计算从一个点到其他所有点的最短路径的算法,是一种单源最短路径算法。也就是说,只能计算起点只有一个的情况。Dijkstra的时间复杂度是O (N2),它不能处理存在负边权的情况。【算法描述】设起点为s,dis[v]表示从s到v的最短路径,pre[v]...原创 2019-04-11 11:17:19 · 1574 阅读 · 1 评论 -
图论最短路径算法(一)Floyed算法(弗洛伊德算法)
文章目录Floyed-Warshall算法 O(N^3^)算法描述:算法分析&思想讲解:Floyed算法变形:应用场景【例1】最短路径问题Floyed-Warshall算法 O(N3)简称Floyed(弗洛伊德)算法,是最简单的最短路径算法,可以计算图中任意两点间的最短路径。Floyed的时间复杂度是O (N3),适用于出现负边权的情况。以下没有特别说明的话,dis[u][v]表...原创 2019-04-08 11:18:58 · 2082 阅读 · 0 评论 -
图论最短路径算法(三)SPFA算法(福特/Ford算法的队列实现)
SPFA是Bellman-Ford算法的一种队列实现,减少了不必要的冗余计算。【算法思想】初始时将起点加入队列。每次从队列中取出一个元素,并对所有与它相邻的点进行修改,若某个相邻的点修改成功,则将其入队。直到队列为空时算法结束。这个算法,简单的说就是队列优化的bellman-ford,利用了每个点不会更新次数太多的特点发明的此算法。SPFA 在形式上和广度优先搜索非常类似,不同的是广度...原创 2019-04-12 11:11:23 · 312 阅读 · 0 评论