基本思路:
•
这个算法是最通用的算法,其比较关键的部分是同时应用
了原图
G
和反图
GT
。
(
步骤
1)
先用对原图
G
进行深搜记录时间结f(n)。(
步骤
2
)选择f(n)最大的点在深搜得到各个强连通分量。
•
•
•
2.
伪代码
•
Kosaraju_Algorithm:
•
step1
:对原图
G
进行深度优先遍历,记录每个节点的离开时间。(即保存的是后序遍历)
•
step2
:选择具有最晚离开时间的顶点,对反图
GT
进行遍历,删除能够遍历到的
顶点,这些顶点构成一个强连通分量。
•
step3
:如果还有顶点没有删除,继续
step2
,否则算法结束。
如下图所视: