1、来说明两个概念:DFN(时间戳)和 LOW。
首先清楚什么是树边,什么是非树边(返祖边)。
右图①为一个图,②为该图的 bfs树。红线标出的即非树(树指dfs树)边
① ②
dfn(时间戳)就不多做解释了,按照遍历顺序打上个1, 2, 3…啥的。
low[u] 是 u 点的子树上的点通过非树边所到达的最小的DFN,像上图中 low[3] = low[5] = dfn[1] 。
2、割点
- 删除该点后,图变成多个联通
- 性质:
- 对于割点u:①当 u 有 father 时, low[u] >= dfn[u]。②当 u 为 root 时,存在两个点满足 ①。
3、强连通分量
当DFN(u)=Low(u)时,以u为根的搜索子树上所有节点是一个强连通分量。