Tarjan强连通算法证明部分思考

  • 如果不是这个连通块里的访问的第一个点,那么对于点d,它的后续可以访问的节点存在点编号比它低的,即low[d]<dfn[d]
  • 访问过的点,用栈保存。对于点stack[x],编号id从x到y,点stack[x+1]…stack[y]都是点stack[x]可以到达的。
  • 所以,当low[d]=dfn[d]
    • 它就是这个连通块里第一个的点
    • 那么它后续的点,low[d]!=dfn[d],都不是连通块里的访问的第一个点,即没有新的连通块
    • 连通块里的点被访问完全了。如果连通块里的某个点没有被访问,那么肯定有一个连通块里的相邻点可以访问它
posted @ 2022-08-07 16:37  congmingyige  阅读(36)  评论(0编辑  收藏  举报