二叉树遍历的理解(初级)

文章介绍了二叉树的前中后序遍历在计算深度和高度时的应用,前序遍历适合求深度,后序遍历适用于求高度。对于平衡二叉树的判断和最大深度的求解,可以利用后序遍历。同时提到了使用栈进行统一迭代遍历以及层序遍历时队列的应用。递归的三个关键点也被提及:返回类型、结束条件和单层逻辑。
摘要由CSDN通过智能技术生成

迭代:前中后序遍历;前中后是处理中间节点的顺序。

中间节点:处理操作放在中间节点这块。

左右节点:用来向下遍历

求二叉树深度:用前序遍历(中左右),深度是从上往下计算(根节点是1,下面依次是2,3,4.....),所以要记录深度的话,中间节点要依次向下处理(深度增加的方向),处理完再向下遍历(中左右),所以是用前序遍历比较方便。

求二叉树高度:用后序遍历(左右中),高度是从下往上计算(叶子节点是1,上面依次是2,3,4....),所以要记录高度的话,中间节点要依次向上返回迭代(高度增加的方向),处理完向上返回迭代(左右中)。所以要先向下递归遍历到最底层(叶子节点),再依次向上返回中间节点的处理操作,所以用后序遍历。

例子1:比如判断一个二叉树是不是平衡二叉树,就要求左右子树的高度,然后再在中间节点判断是否相差超过1,就用后续遍历。

例子2:如果求二叉树的最大深度,用前序遍历。但其实根节点的高度和二叉树的最大深度是一样的,所以也可以用后序遍历。

前中后统一迭代写法:用栈stack处理数据,把中间节点压入栈后,要紧跟把null压入栈,这里null用来判断弹出。

层序遍历:用队列queue处理数据,注意每一层的size不一样,是动态的。

递归:1.判断返回类型和传入参数; 2.判断结束递归条件; 3.写单层逻辑。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值