有向图的强连通性

这篇博客探讨了有向图的强连通性概念,指出当图中所有顶点互相可达时,图是强连通的。强连通分量是指互相均为强连通的顶点的最大子集。文章强调了Kosaraju算法在检测和找到强连通分量中的应用,并通过证明两个关键点来说明该算法的正确性,即每个dfs过程都会访问到与起点强连通的所有顶点。
摘要由CSDN通过智能技术生成
 6:有向图的强连通性。如果有向图中的顶点都互相可达,则这幅图是强连通的。(有环)
    强连通分量:强连通性将所有顶点分为了一些等价类,每个等价类都是由互相均为强连通的顶点的最大子集组成了。
        如:有向无环图有 v 个强连通分量,每个顶点就是一个分量。
    强连通分量的定义是基于顶点的,而非边。

重点Kosaraju算法
    命题H:   有向图G,  G的反向图G(r), 利用G(r) 得到的顶点逆后序排列 reversePost ;
                       算法描述: 根据  reversePost 使用  dfs(G,s) 处理  G.

    要证: 每次dfs(G,s)都会得到一个强连同分量, 即: 每次dfs所访问的定点都在一个强连同分量中.

     证明:  证明(1)(2) 即可证明命题.
             (1)dfs(G,s)中,和 s  强连通 的顶点 u 都回被访问到.
                证: s与u连通,所以s可以访问到u;
             (2)dfs(G,s)中, 任意 被访问到的定点v都和s是强连通的.
                 因为s->v 所以 再证明 v->s即可  等价于 证明在G(r)中s->v.(在G(r)中有向边取反,所有G中若v->s,G(r)中s->v)
                       
                在G(r)中,s->v 变为 v->s(有向边取反)所以reversePost(图g的逆后序即为图的拓扑排序)中,v排在s之前或之后。
                所以“ reversePost 使用   dfs(G(r),s)  处理   G(r).”dfs(G(r),v) 会在 dfs(G(r),s)结束。
                因为v->s所以只有一种情况为:
                    dfs(G(r),s)    dfs(G(r),v) ... dfs(G(r),v)完成. ....  dfs(G(r),s)完成  -------〉s 可以到 v,s->v.

1
2
3
4
5
6
7
8
9
10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值