图论题解索引

前言

作图论的题的时候,无论何时,DFS,BFS加剪枝,都是你可靠的方法,如果第一眼没有具体思路,完全可以先按照刚才的两个方法思考下去,可能想着想着,这道题真实的样子(即真正合适的算法),你就发现了。

并查集

1、并查集计算连通分量数:力扣547省份数量
2、并查集维护一个大集合问题(是一个集合不可以连线)+计算连通分量变种题目力扣684冗余连接
3、并查集维护连通分量是否为1的Kruskal算法:力扣1584. 连接所有点的最小费用
4、用并查集维护某两点是否连通:力扣1631. 最小体力消耗路径
5、用并查集维护某两点是否连通:力扣778. 水位上升的泳池中游泳
6、并查集维护连通分量:力扣2076. 处理含限制条件的好友请求

网格类图论

1、网格类图论题目(经典DFS解法)力扣200岛屿数量
2、网格类型图论:力扣1631. 最小体力消耗路径
3、网格类型图论+直接在网格上思考解法用二分法+BFS:力扣778. 水位上升的泳池中游泳

连通分量问题

1、经典DFS、BFS每次按照树的DFS遍历方法遍历(一定看好他可走的有多少方向)力扣547省份数量
2、并查集维护连通分量的Kruskal算法:力扣1584. 连接所有点的最小费用

图的存储问题

1、图的vector<vector> edge存法LCP46志愿者调配
2、图的vector<vector> edge存法力扣210课程表
3、邻接表+邻接矩阵+类存储图论最短路径专题(力扣743、5888)

拓扑排序

1、DFS、BFS拓扑排序力扣210课程表

图上DP

1、bellman ford算法,该算法的第k步就是求出的从给定起点到所有节点经过最多k步的最短路。力扣787-K 站中转内最便宜的航班
2、Bellman-Ford算法图论最短路径专题(力扣743、5888)

带有限制最短路径

注:这种最短路径要首选由DP定义出来的算法,将限制转化成为状态即可。
1、bellman ford算法,该算法的第k步就是求出的从给定起点到所有节点经过最多k步的最短路。力扣787-K 站中转内最便宜的航班

最短路径专题

1、Dijkstra+Floyd+Bellman-Ford+SPFA四大算法汇总图论最短路径专题(力扣743、5888)
2、多维护一个第二短的距离数组力扣2045-到达目的地的第二短时间
3、网格上的最短路径问题:力扣1631. 最小体力消耗路径
4、网格上最短路径问题:力扣778. 水位上升的泳池中游泳

最小生成树

1、Kruskal算法+prim算法+堆优化prim算法:力扣1584. 连接所有点的最小费用

图上DFS、BFS

1、网格上DFS、BFS加上用二分查找法剪枝力扣1631. 最小体力消耗路径
2、网格上BFS+二分法:力扣778. 水位上升的泳池中游泳

Guess you like

Origin blog.csdn.net/qq_45678698/article/details/120753439