2012年4月14日

Kosaraju算法解决强连通问题

摘要: 今天花了一上午时间实现这个算法,一开始一直没有理解,加上好久不动算法,结果效率很低。下面将从中学到的一些东西总结在这里吧。一、算法的步骤及图解Kosaraju 算法也许最容易理解的一个算法是Kosaraju 于80 年代提出的,它执行两次DFS。第一次DFS 得到了关于各个SCC 拓扑顺序的有关信息,而第二次DFS 按照这个拓扑顺序的逆序进行DFS,从而把每个SCC 分开。算法步骤如下:第1 步:对有向图进行DFS,记录下顶点变黑的时间A[i];遍历结果构建一个森林W1,我们对森林中的每棵树做②、③步操作;第2 步:改变图G 的每一条边的方向Gr;第3 步:按上次DFS 顶点变黑的时间A[i] 阅读全文

posted @ 2012-04-14 15:28 waruzhi 阅读(1288) 评论(0) 推荐(0) 编辑

导航