强连通分量的简单概括

本文介绍了强连通分量的概念,出现在有向有环图中,每个连通分量可视为强连通分量。《算法概论》中的线性算法利用DFS得到的post值最大顶点特性,通过顶点post值降序排列来识别和线性化强连通分量。文章详细阐述了算法实现过程,包括如何找到并删除汇点强连通部件,直至找到所有强连通部件。
摘要由CSDN通过智能技术生成

简介

对于强连通分量,是只懂得原理,但不知道如何用算法实现求解。今天就对强连通分量的算法进行一个整理,也对强连通分量的实例进行分析。

强连通分量

强连通分量出现在有向有环图中,每一个连通的分量都可以被当作是强连通分量。如左下图每一个虚线框内都是一个强连通分量,右下图则将强连通分量当作一个结点后构成的一个DAG
这里写图片描述

在《算法概论》中采用的pre,post时间序列的线性算法中,强连通分量有以下的特点:
1. 在DFS中得到的post值最大的顶点一定位于一个源点强连通部件中
2. 如果C和C’是强连通部件,同时从C中的一个顶点到C’中的一个顶点存在一条边,则C中post的最大值要大于C’中post的最大值。
3. 每个有向图至少存在一个汇点和一个源点

根据上面的性质,强连通部件能够通过按照其各自内部顶点的post最大值的降序排列,实现线性化。

一旦我们找到了第一个汇点强连通部件,就将它从图中删除(删除该强连通部件的所有结点),得到的新图中的post值最大的顶点一定在新图中的一个汇点强连通部件中。从而我们可以重复使用这种基于针对

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值