求无向联通图的割点
来源:互联网 发布:2016年电影产业数据 编辑:程序博客网 时间:2024/04/29 20:44
转自http://www.cnblogs.com/en-heng/p/4002658.html
- DFS搜索树:用DFS对图进行遍历时,按照遍历次序的不同,我们可以得到一棵DFS搜索树,如图(b)所示。
- 树边:(在[2]中称为父子边),在搜索树中的实线所示,可理解为在DFS过程中访问未访问节点时所经过的边。
- 回边:(在[2]中称为返祖边、后向边),在搜索树中的虚线所示,可理解为在DFS过程中遇到已访问节点时所经过的边。
基于DFS的算法
该算法是R.Tarjan发明的。观察DFS搜索树,我们可以发现有两类节点可以成为割点:
- 对根节点u,若其有两棵或两棵以上的子树,则该根结点u为割点;
- 对非叶子节点u(非根节点),若其子树的节点均没有指向u的祖先节点的回边,说明删除u之后,根结点与u的子树的节点不再连通;则节点u为割点。
对于根结点,显然很好处理;但是对于非叶子节点,怎么去判断有没有回边是一个值得深思的问题。
我们用dfn[u]
记录节点u在DFS过程中被遍历到的次序号,low[u]
记录节点u或u的子树通过非父子边追溯到最早的祖先节点(即DFS次序号最小),那么low[u]的计算过程如下:
下表给出图(a)对应的dfn与low数组值。
对于情况2,当(u,v)为树边且low[v] >= dfn[u]
时,节点u才为割点。该式子的含义:以节点v为根的子树所能追溯到最早的祖先节点要么为v要么为u。
0 0
- 求无向联通图的割点
- 求无向图的割点和桥
- 求无向连通图的割点
- 求无向连通图的割点
- 求无向图的割点和桥
- 求无向连通图的割点(图论)
- 求无向连通图的割点
- 求无向图的 割点和桥 【模版】
- 求无向连通图的割点和割边/桥
- 无向图的割点算法
- 39.2 无向图的割点
- Tarjan求无向图桥和割点
- 无向连通图的割点与割边
- 无向图 割点
- 求无向图的割点(重边不重边神马的无所谓)
- Uva 315 求无向图的割点的个数
- POJ 1144 Network Tarjan 求无向图的割点的个数 Tarjan 模板题
- 求无向简单图的割点与割线的问题(邻接矩阵)
- segment如何添加方法
- c# 使用初始化器初始化对象
- Android SDK开发包国内下载地址
- Python时间,日期,时间戳之间转换
- 三种Java查找算法
- 求无向联通图的割点
- ReactiveCocoa,最受欢迎的iOS函数响应式编程库(2.5版),没有之一!
- 为什么微软Edge浏览器得不到用户的喜爱
- 算法题 子数组之和为零
- 工作日志-20151019
- eclipse一些问题点归纳整理
- 黑马程序员--Java学习日记之IO流(字符流和字节流)
- 中文获取全拼功能Java代码
- 【error RC2108: expected numerical dialog constant】