有向图的强连通
来源:互联网 发布:筑龙投标软件 编辑:程序博客网 时间:2024/05/01 07:37
有向图的强连通分量 |
2007-07-18 | |
深度优先遍历是求有向图的强连通分量的一个有效方法,具体求解步骤如下: ⑴ 在有向图中,从某个顶点出发进行深度优先遍历,并按其所有邻接点的访问都完成(即出栈)的顺序将顶点排列起来。 ⑵ 在该有向图中,从最后完成访问的顶点出发,沿着以该顶点为头的弧作逆向的深度优先遍历,若此次遍历不能访问到有向图中所有顶点,则从余下的顶点中最后完成访问的那个顶点出发,继续作逆向的深度优先遍历,依次类推,直至有向图中所有顶点都被访问到为止。 ⑶ 每一次逆向深度优先遍历所访问到的顶点集便是该有向图的一个强连通分量的顶点集,若仅作一次逆向深度优先遍历就能访问到图的所有顶点,则该有向图是强连通图。 例如对图6-3(a)所示有向图,从顶点v1出发作深度优先遍历,在访问顶点v2后,顶点v2不存在未访问的邻接点从而成为一个“死结点”,如图(b)所示。将v2从栈顶弹出后,再从顶点v1出发,在访问顶点v3 v4后,顶点v4不存在未访问的邻接点从而也成为“死结点”,如图(c)所示。将v4从栈顶弹出后,顶点v3不存在未访问的邻接点从而也成为“死结点”,将v3从栈顶弹出后,顶点v1不存在未访问的邻接点从而也成为“死结点”,将v1从栈顶弹出,所以,得到出栈的顶点序列为v2, v4, v3, v1;再从最后一个出栈的顶点v1出发作逆向的深度优先遍历(逆着有向边的箭头方向),得到一个顶点集{ v1, v3, v4},如图(d)所示;再从顶点v2出发作逆向的深度优先遍历,得到一个顶点集{v2},如图(e)所示。这就是该有向图的两个强连通分量的顶点集。 |
< 上一篇 | 下一篇 > |
---|
长春工业大学
计算机科学与工程学院 数据结构课程组
- 有向图的强连通分量
- 有向图的强连通分量
- 有向图的强连通分量
- 有向图的强连通
- 有向图的强连通分量
- 有向图的强连通分量
- 有向图的强连通分量
- 有向图的强连通分量
- 有向图的强连通分支
- 有向图的强连通分支
- 有向图的强连通分量
- 有向图的强连通分量
- 有向图的强连通分量
- 有向图的强连通分量
- 有向图的强连通分量
- 有向图的强连通分量
- 有向图的强连通分量的三个算法
- 有向图的强连通分量的Tarjan算法
- Creating a CAknEnumeratedTextPopupSettingItem-derived class to use dynamic data at runtime
- 装修日记第一季
- 点滴
- .net学习总结(4)之FreeTextBox使用详解
- Rails源代码分析(9):ActionController::Filter(3)
- 有向图的强连通
- 较好的JAVA学习网站汇总
- 三十四个超级经典小故事
- GDB使用手册
- 基于Eclipse开发OSGI的简单实例
- sql中把字符型转成整型
- CPU调度算法演示
- .net学习总结(5)之Gridview控件,智能搜索
- uml的组成