[图] 有向图的强连通分量-原理

本文介绍了有向图的强连通分量概念,探讨了在有向图中如何判断强连通性,并重点讲解了Kosaraju算法在寻找强连通分量上的应用,该算法具有线性时间复杂度,显著优于暴力判断方法。此外,还提及了其他如Tarjan和Gabow等算法作为求解手段。
摘要由CSDN通过智能技术生成

原文链接:https://www.yuque.com/cppdev/algo/kxfg9o
相关链接

  1. Kosaraju算法:https://blog.csdn.net/summer_dew/article/details/83047190

背景

【无向图】如果从s到t存在一条路径,那么我们知道从t到s也存在一条路径
【有向无环图(DAG)】如果从s到t存在一条路径,那么我们知道从t到s不存在有向路径
【问题】但是,对于一般的有向图,知道t由s可达并没有给出s是否由t可达的信息
【强连通分量的提出】为了理解有向图的结构,我们考虑强连通性(strong connectivity),它具有我们寻求的对称性。如果s和t是强连通的(顶点相互可达)–>那么根据定义,t和s也是强连通的
【如何判断有向图是不是强连通】暴力判断:判断任意两个顶点s,t,看从s是否可以到t,从t是否可以到s。这个算法易于描述和实现,但需要代价很大
【现代算法设计的胜利】现代算法设计能在线性时间内找出任何图的强分量,它要比蛮力算法快V倍。对于100个顶点,这些算法将比蛮力算法快100倍;对于1000个顶点,这些算法比蛮力算法块1000倍

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

geodoer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值