给定图 G,可以使用以下算法找到 SCC:
DFS(G) // compute finish times f[u]
GT = Transpose(G)
DFS(GT) // considering vertices in order of decreasing f[u]
我想了解的是:为什么必须按照完成时间递减的顺序进行第二次 DFS,有没有办法证明这一点?为什么,例如,以递增顺序考虑顶点并不能计算正确的 SCC?
我已经在 SO 上阅读了一些答案和示例,但它们没有帮助。问题是如何证明这个事实。
谢谢