Kosaraju算法（也被称为Kosaraju–Sharir算法）是一个在线性时间内寻找一个有向图中的强连通分量的算法。阿尔佛雷德·艾侯，约翰·霍普克洛夫特和相信该算法来自于1978年撰写的一篇未发表论文之中。也独立发现了该算法并于1981年将其发表。该算法巧妙地利用了一个定理：「一个图的反向图和原图具有一样的强连通分量」。
简介.该算法主要用于枚举图中每一个强连通分量内的所有顶点。该算法可由以下四部分组成：
Java代码实现.public class K