我正在阅读《算法导论》。在22.5强连通分量中,算法STRONGLY-CONNECTED-COMPONENT(G)定义为:
- 调用DFS(G)计算每个顶点u的完成时间u.f
- 计算G的转置
- 调用DFS(G的转置),但在DFS的主循环中,按u.f(如第1行中计算的)递减的顺序考虑顶点
- 将第3行形成的深度优先森林中每个树的顶点作为单独的强连通分量输出
如果我将算法更改为仅使用G,而不计算G的转置。同时按照递增的u.f(拓扑排序反向顺序)考虑顶点:
- 调用DFS(G)计算每个顶点u的完成时间u.f
- 调用DFS(G),但在DFS的主循环中,按递增的u.f(如第1行中计算的)顺序考虑顶点
- 输出第2行中形成的深度优先森林中每个树的顶点
为什么这个算法是错误的?