欢迎光临
我们一直在努力

信息学竞赛:树的遍历全攻略

在很多信息学竞赛中,关于树的遍历题目非常多,如果你无从下手,那么你就来看看这篇文章吧!保证让你学会关于树的遍历的方法与技巧!

此文章是作者呕心沥血之作,纯人工键盘打字思考。如果你觉得对你有帮助,那么就来给作者一个免费的赞和一个免费的收藏吧,谢谢啦!

那么废话不多说,直接上正题。

DFS家族

1)前序遍历

前序遍历,是非常标准的DFS(深度优先搜索),它非常简单实用,只需记住一个口号:根左右 即可。

具体实现是这样的:

有这样一棵树:

按照前序遍历的口号:根左右,进行遍历。

从根节点A开始,执行根左右中的根,输出A。

执行左,对B进行操作根左右(下文将简述为操作)中的根,输出根。

执行左,对D操作中的根,输出根(在这里是叶子)。

执行左,D没有左孩子。

执行右,D没有右孩子。

回到B,执行右,对E操作,输出根(在这里是叶子)。

执行左,E没有左孩子。

执行右,E没有右孩子。

B(A的左子树)已经被遍历完了,执行右,对C操作,输出根。

执行左,对F操作,输出根(在这里是叶子)。

执行左,F没有左孩子。

执行右,F没有右孩子。

回到C,执行右,对G操作,输出根(在这里是叶子)。

执行左,G没有左孩子。

执行右,G没有右孩子。

最终,这一棵树被遍历完了。

那么,前序遍历的结果就是:ABDECFG。

这就是前序遍历。

如果你觉得还是不怎么懂,那就看这个图片:

序号是第几个输出的,箭头是路径。

2)中序遍历

未完待续……正在更新ing……

赞(0)
未经允许不得转载:171主机测评 » 信息学竞赛:树的遍历全攻略
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址