Kosaraju 通常指 Kosaraju 算法(Kosaraju’s algorithm):一种在有向图中寻找强连通分量(Strongly Connected Components, SCC)的经典算法,核心思路是对原图与反向图各进行一次深度优先搜索(DFS),以线性时间复杂度 O(V + E) 计算 SCC。(该词也可指提出该算法的计算机科学家 S. Rao Kosaraju。)
/ˌkoʊsəˈrɑːdʒuː/
Kosaraju’s algorithm finds strongly connected components in a directed graph.
Kosaraju 算法用于在有向图中找出强连通分量。
After finishing DFS on the reversed graph, Kosaraju processes nodes in decreasing finish time to extract each SCC efficiently.
在反向图上完成 DFS 后,Kosaraju 会按完成时间从大到小处理节点,从而高效地提取每个强连通分量。
Kosaraju 来自人名 S. Rao Kosaraju(印度裔计算机科学家)。该算法以提出者命名,在算法与图论教学中常与 Tarjan、Gabow 等 SCC 算法并列出现。