Tarjan 算法

Posted sunbines

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tarjan 算法相关的知识,希望对你有一定的参考价值。

 

•对于u的子节点v,从v出发进行的DFS结束回到u时,使得 low[u] = min(low[u],low[v])。因为u可达v,所以v可达的最早的节点,也是u可达的。

•如果一个节点u,从其出发进行的DFS已经全部完成并回到u,而且此时其low值等于dfn值,则说明u可达的所有节点,都不能到达任何比u早的节点 ---- 那么该节点u就是一个强连通分量在DFS搜索树中的根。

•此时,显然栈中u上方的节点,都是不能到达比u早的节点的。将栈中节点弹出,一直弹到u(包括u),弹出的节点就构成了一个强连通分量.
有向图强连通分支的Tarjan算法


1)

技术分享图片

2)

技术分享图片

3)

技术分享图片

 4)

技术分享图片

5)

技术分享图片

6)

技术分享图片

7)

技术分享图片

8)

技术分享图片

9)

技术分享图片

10)
技术分享图片

 

以上是关于Tarjan 算法的主要内容,如果未能解决你的问题,请参考以下文章

强连通分量的Tarjan算法

Tarjan之求LCA

全网最!详!细!tarjan算法讲解。

tarjan算法

Tarjan算法与割点割边

Tarjan算法详解