无向图的边双连通分量

无向图的边双连通分量

桥:删除某条边后连通分量数目变多

边双连通分量:该联通分量中不含桥

$tarjan:$类似于有向图,给一个时间戳,假设当前的low[j] < low[u] 则代表,他无法通过任何一条边到达u及u以上的点,所以当前这个边就一定是个桥

对于无向边来说,前向边、后向边、横插边、树枝边这些里对桥有贡献的只有后向边,他是不存在横插边的因为无向横插就等价于一个前面的前向边了。

无向图的点双连通分量

割点:把与某个点相连的边都删掉,图的连通分量的数目变多,则该点称为割点

点双连通分量:该连通分量中不含割点

如何判断是一个割点?

不是根节点:当前这个点的low[j] > dfn[u] 子节点能到的最早的节点都大于父节点的时间戳,否则的话就存在一个,这些问题很多直觉上就应该去找环,来证明。

根节点:至少有连两个这样的子节点

$tarjan:$相似的思想给一个时间戳,假设low[j] >= dfn[u] 这就是可能是一个联通分量,点的双连通分量比较特殊,一个割点应该至少属于连个联通分量中,因此我们在缩点的时候,就要开一虚拟割点,将实际个点放入每一个联通分量中

posted @ 2022-03-31 17:11  枉玊  阅读(66)  评论(0)    收藏  举报