BFS遍历树和DFS遍历树

遍历树

按照遍历的顺序(如不清楚图的遍历,请先阅读图的遍历),绘制成树型结构

DFS遍历树

以下为图到遍历树的转化(如果不清楚图的遍历,请先阅读笔者的另一篇文章:图的遍历(动图)),按照DFS遍历的顺序,绘制成一棵树,途中红色的边就是遍历过程中没有经过的边(在遍历树上,红色的边其实是不存在的,只是为了和图做比对和便于后面的分析,笔者在遍历树上绘制出来了)
图转化为DFS遍历树
从遍历树中可以看出,非遍历的边可以指向自己的祖先节点(即后向边),而查找桥的算法恰恰就是使用了后向边的性质,而在BFS遍历树中并不存在该性质,所以查找桥只可以用DFS遍历

  • 后向边:不在遍历树上的边
  • 前向边:在遍历树上的边

BFS遍历树

以下为图到遍历树的转化(如果不清楚图的遍历,请先阅读笔者的另一篇文章:图的遍历(动图)),按照BFS遍历的顺序,绘制成一棵树,途中红色的边就是遍历过程中没有经过的边(在遍历树上,红色的边其实是不存在的,只是为了和图做比对和便于后面的分析,笔者在遍历树上绘制出来了)
图转化为BFS遍历树
从遍历树中可以看出,非遍历的边是无法指向自己的祖先节点(即BFS遍历树不存在后向边),而查找桥的算法恰恰就是使用了后向边的性质,而在BFS遍历树中并不存在该性质,所以查找桥只可以用DFS遍历

  • 横叉边:不在遍历树上的边
  • 前向边:在遍历树上的边
  • 理论分析: BFS是一层一层遍历的,所以所有未访问过的节点只可能访问自己下一层的节点或者同层的节点,不可能访问到祖先节点
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值