2011年10月24日
摘要: 我是从算法导论看起的:定义:在一个有向图中,任意两个点都是互相可达的,则称为强连通图。解法步骤:1.先对每个节点dfs。计算出 每个节点的finishing time f[u]。2.对图进行倒置处理。3.对倒置图的每个节点,按照f【u】降序的顺序进行dfs。4.输出在步骤3中dfs时建立的每棵树的节点。这些树即分别是强连通分支。时间复杂度分析:在给定图G的邻接表表示的情况下,建立G倒置图的时间复杂度为O(V+E)。而dfs也是O(V+E),故整个时间复杂度是线性时间O(v+e).对这个解法的理解关键在理解finishing time的特点,算法导论书上对其有关键推论。根据上面算法写的粗糙代码: 阅读全文
posted @ 2011-10-24 23:02 不是我干的 阅读(841) 评论(0) 推荐(0)