最短路径
_Griffith
每天都要学习新知识
展开
-
SPFA算法模板(实际上是bellman-ford) 的队列优化
#include #include #include #include #include #include using namespace std; const int maxn = 100; const int inf = 0x3f3f3f3f; int n,m; struct node { int x;int d; node(){}; node(int xx原创 2017-07-30 22:43:48 · 280 阅读 · 0 评论 -
floyd-warshall
/** 此算法能算多源最短路径,当然也能算单源最短路径**/#include #include #include #include #include #include using namespace std; const int maxn = 100; int e[maxn][maxn]; const int inf = 0x3f3f3f3f; int main() { int原创 2017-07-30 22:54:14 · 269 阅读 · 0 评论 -
邻接表实现 单源最短路径SPFA算法
首先讲邻接表的实现,以前一直遇到题目都是用vector模拟,今天遇到一个题目vector超时,于是学习了用数组模拟实现邻接表,新学的数据结构,搞的不是很透彻,记录一下。 其实就是头插法,首先用一个结构体E记录节点的信息,指向那个节点,以及指向节点的权值等信息,给E结构体设置一个next,让它指向H数组,H数组初始化为-1,初始化为-1是为了方便判断某个点直接相连点是否找完了,自己还不是很透彻转载 2017-07-30 22:56:24 · 611 阅读 · 0 评论 -
dijkstra 模板
/** 使用邻接表加优先队列优化 时间复杂度为O((M+N)logN),其中M为边数,N为顶点数 邻接表是当 M < N*N 时,使用比较好。 **/ #include #include #include #include #include #include using namespace std; const int maxn = 1e4; const int inf = 0x3原创 2017-07-30 21:07:03 · 219 阅读 · 0 评论