图论
在联通图中
割边 去掉一条边之后 不连通
割点 去掉一个关键点之后 ,子图不连通
有向图拓扑排序
for(int i=0;i<n;i++)
{dfs(i)};
访问debug入度为0的点,与它相连的点的入度减一,
标记为不可访问状态,存数组,正向输出
用vector存出度,出度为0时访问,存数组,父节点的出度减一,
最后逆序输出
可用dfs,bfs,判断图的联通性,用cnt表示访问节点的数目,最后判断n是否等于
cnt。
欧拉图 当图联通时,无向图 判断奇点的个数
当奇点个数为0时,为欧拉回路
为2时为欧拉通路
有向图
入度等于出度 欧拉回路
有一个入度比出度大一,一个出度比入度大一
,欧拉通路,一笔画问题
强联通分量,缩点
记一个正向图,一个反向图,
一次dfs,为每一个点记一次时间戳,
然后在反向图dfs遍历图,记录强连通分量
用栈来存储节点,遍历到一个节点后,看是否在栈中,
形成后向边,不能遍历时出栈,为一个联通分量
dfn数组和low数组
low[u]为能遍历到的最早的时间点