码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2019-03-17 21:23:40      阅读:257      评论:0      收藏:0      [点我收藏+]

标签:过程   dfs   通过   .com   mic   math   http   mamicode   src   

边的分类

有向图边分为四类: 树边, 前向边, 返祖边(后向边), 横叉边.

上图:

技术图片

判定

有向图

对图进行dfs, 不考虑已经遍历过的点, 得到dfs序 \(dfn_i\).

在dfs过程中, 记录当前dfs栈. 对于边\((u,v)\),

  • 树边: \(vis_v==0\);
  • 前向边: \(vis_v==1\)\(dfn_v > dfn_u\);
  • 返祖边: \(vis_v==1\)\(dfn_v < dfn_u\), 且 \(v\) 在当前栈内;
  • 横叉边: \(vis_v==1\)\(dfn_v < dfn_u\), 且 \(v\) 不在当前栈内.

无向图

边仅分为树边和返祖边, 通过 \(vis\) 判断即可.

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

标签:过程   dfs   通过   .com   mic   math   http   mamicode   src   

原文地址:https://www.cnblogs.com/ubospica/p/10548822.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!