二叉树遍历

二叉树的遍历一般来说有3种,分别为先序遍历,中序遍历,后序遍历。

在二叉树的三种遍历中,每个节点都会经过3次。

说明如下:对于其中一个节点来说,当指针指向该节点时,第一次访问该节点。

                    当访问完其左子树时,会返回到该节点。

                    当访问完其右子树时,会返回到该节点。

而对于三种遍历来说,先序遍历是第一次访问到该节点时,对其值进行输出 (即先访问该节点,再左子树,右子树)

                                        中序遍历是第二次访问到该节点时,对其值进行输出   (即先左子树,再该节点,再右子树)

                                         后序遍历是第三次访问到该节点时,对其值进行输出   (即先左子树,再右子树,再该节点)


所以,无论是先序,中序,后序遍历二叉树,遍历时的搜索路径是相同的,即访问该节点,访问左子树,访问右子树,亦即都是从根节点出发,逆时针沿二叉树外缘移动,对每个节点都经过3次。而三种遍历方式只不过是在这条遍历路径上,每个节点是在第几次访问时进行遍历输出的区别。


理解二叉树递归遍历时,可以按照这样的思路来想,当前是指向那个节点,即当前位于哪一层。当本层代码运行完成后,将会返回到上一层。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值