后向边

Posted 000what

tags:

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


DFS过程中,对于一条边u->v
vis[v] = 0,说明v还没被访问,v是首次被发现,u->v是一条树边
vis[v] = 1,说明v已经被访问,但其子孙后代还没有被访问完(正在访问中),而u又指向v?说明u就是v的子孙后代,u->v是一条后向边,因此后向边又称返祖边
vis[v] = 3,z说明v已经被访问,其子孙后代也已经全部访问完,u->v这条边可能是一条横叉边,或者前向边

注意:树边,后向边,前向边,都有祖先,后裔的关系,但横叉边没有,u->v为横叉边,说明在这棵DFS树中,它们不是祖先后裔的关系它们可能是兄弟关系,堂兄弟关系,甚至更远的关系,如果是dfs森林的话,u和v甚至可以在不同的树上

在很多算法中,后向边都是有作用的,但是前向边和横叉边的作用往往被淡化,其实它们没有太大作用。

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

DAG的深度优先搜索标记

DFS 树

AcWing1174 受欢迎的牛(tarjan缩点)

算法导论22章基本的图算法 思考题总结 (转载)

[模板] tarjan/联通分量/dfs树

tarjan