近两天的图论知识点(双连通 && 欧拉路径
作者:
明日香
,
2021-07-16 11:22:14
,
所有人可见
,
阅读 473
有向图的强连通分量(SCC
无向图的双连通分量(DCC
--->边双连通分量(e-DCC):极大的不含有桥的连通块(所以不管我们删掉那条边,我们的图都还是连通的)
--->点双连通分量(v-DCC):极大的不含有割点的连通块(所以不管我们删掉那个点,我们的图都还是连通的)
------>极大的连通块:就是不被其他任意一个连通块完全包含的连通块
判断 割点 和 桥
割点(如果x是割点):
割点主要看儿子
case1:x非root点 && x有儿子 && low[x的儿子] >= dfn[x]
case2:x是root点 && x的儿子数量>=2
桥(如果x->y是桥):
low[y] > dfn[x]
---------------------------------------------------------------------------------------------------------------
1. 对于无向图,所以边都是连通的。
(1)存在欧拉路径的充分必要条件:度数为奇数的点只能有0个或两个
(2)欧拉回路:特殊的欧拉路径(起点与终点相同的欧拉路径)
--->充分必要条件:度数为奇数的点只能有0个(即:图中不能有度数为奇数的点)
2. 对于有向图,所以边都是连通的。
(1)存在欧拉路径的充分必要条件:要么所有的点的出度都等于入度(欧拉回路);要么除了两个点之外所有点的出度都等于入度,剩余的两个点一个满足出度比入度多1(起点),另一个满足入度比出度多1(终点)
(2)存在欧拉回路的充分必要条件:所有的点的出度都等于入度
欧拉路径都是通过dfs的方式搜索的
欧拉路径:只能通过度为奇数的点开始搜索
欧拉回路:能通过任意一个点开始搜索