缘起
【3】给出了有向图的强连通分支(下简称scc)的定义,【1】和【2】给出了求解scc的深搜算法和tarjan算法. 这里介绍kosaraju算法
分析
经过分析, 其实kosaraju算法就是【1】. kosaraju算法和另外2种算法——tarjan、gabo比较,后两者只需要一次深搜,但是本算法需要2次深搜。 虽然三种算法都是线性的. O(n+e), 但是kosaraju算法性能较低(实测低30%左右). 但是kosaraju的好处在于第一次dfs之后就已经将所有的scc已经拓扑排序了.
参考
【2】
Powered By Valine
v1.5.2
v1.5.2