bfs:广度优先搜索
dfs:深度优先搜索
dijkstra:用于单源最短路径,无负权路
floyd:任意两点间最短路径,可以算负权值,不能算负权回路
bellman-ford:可以计算小规模的负权回路
spfa:队列优化的bellman-ford
dinic:计算最大流
bfs:可以用来求无权图的最短路径
重点在于每次的试探
pop时才输出
dfs:
重点在于回溯
头部输出,相邻节点dfs
dijkstra算法
与此同时还有堆优化的dijkstra算法,使用链式前向星
floyed: 最大里面找最小这种类似的问题
bellman-ford
存储设计使用 struct{a,b,w} 存储边的所有信息
n;
m;
{如果flag==1&&i==n-1 存在负权回路}
spfa: Bellman-Ford算法 的队列优化算法的别称
判断是否有负权回路:n个点,从起点到终点最多n-1条边,即从起点到终点最多n-1条路,所以当某个点进队次数大于n时一定存在负权回路
注意:释放队首结点
dinic:求最大流/最小割问题
bfs,dfs
差分约束方程:从0跑一边判断是否有负权环,再从1跑一遍
P4878 [USACO05DEC]Layout G