有向图强连通分量的Tarjan算法
[有向图强连通分量]
在有向图G中,如果两个顶点间至少存在一条路径,称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。非强连通图有向图的极大强连通子图,称为强连通分量(strongly connected components)。
下图中,子图{1,2,3,4}为一个强连通分量,因为顶点1,2,3,4两两可达。{5},{6}也分别是两个强连通分量。
直接根据定义,用双向遍历取交集的方法求强连通分量,时间复杂度为O(N^2+M)。更好的方法是Kosaraju算法或Tarjan算法,两者的时间复杂度都是O(N+M)。本文介绍的是Tarjan算法。
[Tarjan算法]
Tarjan算法是基于对图深度优先搜索的算法,每个强连通分量为搜索树中的一棵子树。搜索时,把当前搜索树中未处理的节点加入一个堆栈,回溯时可以判断栈顶到栈中的节点是否为一个强连通分量。
定义DFN(u)为节点u搜索的次序编号(时间戳),Low(u)为u或u的子树能够追溯到的最早的栈中节点的次序号。由定义可以得出,
Low(u)=Min
{
DFN(u),
Low(v),(u,v)为树枝边,u为v的父节点
DFN(v),(u,v)为指向栈中节点的后向边(非横叉边)
}
当DFN(u)=Low(u)时,以u
您可能关注的文档
- 长城风骏皮卡轻型货车变速器设计选读.doc
- 英语单词必备整理选读.doc
- 有丝分裂专题(附加及详细)程序.docx
- 长城哈弗汽车需求量调查选读.doc
- 有限带宽和时变拓扑结构数字网络的分布一致性程序.doc
- 有限单元法程序.docx
- 有限单元法作业非线性+程序.doc
- 有限合伙协议-终稿程序.doc
- 英语单词词根词缀记忆法选读.doc
- 英语单词发音规则简介选读.doc
- 新疆塔城地区第一高级中学2025-2026学年高一下学期学情自测物理试卷(含解析).docx
- 苏教版五年级上册数学 期中检测卷.doc
- 新疆维吾尔自治区昌吉回族自治州呼图壁县2025-2026学年九年级上学期1月期末英语试题(含解析).docx
- 新疆维吾尔自治区和田地区和田市2025-2026学年上学期八年级英语期末试卷(含解析).docx
- 四川省绵阳市游仙区2025-2026学年七年级上学期1月期末英语试题(含解析).docx
- 苏教版三年级上册数学 第三单元测试题.doc
- 四川省绵阳市梓潼县2025-2026学年八年级上学期1月期末物理试题(含解析).docx
- 四川省绵阳市盐亭县四校联考2025-2026学年八年级下学期物理学情自测(含解析).docx
- 房颤患者太极拳练习.pptx
- 苏教版五年级上册数学 期末检测卷.doc
最近下载
- 2024最新教育系统校级年轻后备干部考试应知应会题库及答案.docx VIP
- 高频精选:高校档案馆面试题及答案.doc VIP
- 作业治疗复习测试卷附答案.doc VIP
- 孤独症治疗评估量表(ATEC).docx VIP
- 人工挖孔桩一套检验批.docx VIP
- 2025年山东省员额法官遴选面试考题及答案.docx
- 2026高考化学复习 化学方程式汇总(默写版+背诵版).pdf
- 挖孔桩检验批.docx VIP
- 03J203 平屋面改坡屋面建筑构造.pdf
- 中国国家标准 GB/T 44585.1-2024风险管理在接入IT网络的医疗器械中的应用 第1部分:联网医疗器械或健康软件在其实施和使用中的安全、有效性和网络安全.pdf
原创力文档

文档评论(0)