有向图的强连通分量(SCC)

本文介绍了有向图的强连通分量概念,包括强连通图与强连通分量的定义。文中详细讲解了 Tarjan 算法,这是一种基于深度优先搜索的高效算法,用于查找有向图的强连通分量,其时间复杂度为O(N+M)。算法通过DFN和Low值来判断强连通分量,并给出了详细的步骤解析。最后,提供了一个Tarjan算法的模板题及解题链接。
摘要由CSDN通过智能技术生成

     在有向图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)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值