单源最短路径算法 时间复杂度O(N2) 优化后时间复杂度为O(MlogN)(M为图中的边数 所以对于稀疏图来说优化后更快) 不支持有负权的图 优化后代码 ...
分类:
编程语言 时间:
2016-07-20 10:22:31
阅读次数:
168
多源最短路径算法 时间复杂度O(N3) 简单修改可求有向图的传递闭包 ...
分类:
编程语言 时间:
2016-07-19 20:41:57
阅读次数:
189
最朴素的做法o(n^2)#include<iostream>using namespace std;#include<vector>#include<algorithm>#include<string>#include<string.h>const int MAX = 2002;int n;int ...
分类:
编程语言 时间:
2016-06-28 23:21:22
阅读次数:
195
//Metro.php
$MetroVertex = array(
1 => '体育中心',
2 => '体育西路',
3 => '杨箕',
4 => '东山口',
5 => '烈士陵园',
6 => '农讲所',
7 => '公园前',
8 => '西门口',
9 => '陈家祠',
10 => '长寿路',
...
分类:
编程语言 时间:
2016-05-12 16:18:31
阅读次数:
219
SPFA:Shortest Path Faster Algoriithm 快速最短路径算法 SPFA的核心算法就是Bell-Ford算法。它使用一个队列或者一个栈来减少了Bell-Ford中不必要的松弛。可以处理负边和环的情况,他的使用比Dijstra更广泛。但是未经优化的SPFA算法时间复杂度不稳 ...
分类:
编程语言 时间:
2016-04-18 22:21:15
阅读次数:
374
算法讨论: 先用SPFA处理出第i到第j天内起点到终点的最短路,然后Dp求解即可。 代码: ...
分类:
其他好文 时间:
2016-04-15 08:14:37
阅读次数:
149
贝尔曼-福特算法与迪科斯彻算法类似,都以松弛操作为基础,即估计的最短路径值渐渐地被更加准确的值替代,直至得到最优解。在两个算法中,计算时每个边之间的估计距离值都比真实值大,并且被新找到路径的最小长度替代。 然而,迪科斯彻算法以贪心法选取未被处理的具有最小权值的节点,然后对其的出边进行松弛操作;而贝尔 ...
分类:
编程语言 时间:
2016-04-13 08:32:36
阅读次数:
503
最近过的最短路题目稍微总结一下,顺便写一下模板,最短路算法众多有floyd、dij、bell-man、spfa,速度最快就是dij+优先队列或者dij+堆排序,spfa理论上很快o(ke)但实际并不一定不过spfa传说中有一个很NB用处就是处理带负权回路。 邻接表VS邻接矩阵:根据写题经验,如果可以 ...
分类:
其他好文 时间:
2016-04-08 21:33:51
阅读次数:
277
Part 0. 最短路是解决这类问题的,给定一个图 $ G = (V,E) $ ,以及图中各边的距离,询问两点间的最短路径是多少。常用的有以下几种算法. Part 1. Dijkstra算法 能够计算一个节点到其他所有节点的最短路径.前提是 $ G $ 中的边的权值均不为负. 下面是我的代码习惯: ...
分类:
编程语言 时间:
2016-04-07 22:10:03
阅读次数:
318
1.Dijkstra 算法 Dijkstra算法适用于边权为正的情况。 用于计算正权图上的单源最短路(Single-Source Shortest Paths,SSSP)。所谓单源最短路即从单个源点出发,到所有结点的最短路。 算法同时适用于有向图和无向图。 伪代码: ...
分类:
编程语言 时间:
2016-03-31 14:13:30
阅读次数:
203