二叉树的遍历技巧

本文深入探讨了二叉树的前序、中序和后序遍历方法,包括递归和非递归实现,并提供了详细的代码示例。通过学习,读者将掌握二叉树遍历的基本技巧和应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

图片

 

二叉树遍历其实是比较容易的,只是有的老师教什么经过某个点几次,什么去了又回到某个点那种方法比较繁琐
我就讲讲自己的方法
遍历要注意一点,只要他的下方还有子树,那要看一看是否该遍历
1.先序
先结点,再左枝,再右枝
无论怎么遍历我们都应该注意到的一点就是大方向,比如先序,先遍历A,然后遍历大的左指数,然后遍历大的右指数。开始,A是根结点,两边是他的子树,所以,我们先遍历A,然后遍历大左子树,因为对于大左子树来说B是根结点,所以先遍历B,然后遍历以根结点为B的左子树,这时D又成了根结点,遍历D,然后遍历H,再遍历I,接着,我们又遍历B为根结点的右子树,右边,先遍历右子树根结点E,然后遍历他的左子树,这样以A为根结点的坐子树就遍历完了。然后右子树也很容易得出CFG,所以顺序ABDHIEJCFG
2.中序
先左子树,再结点,再右子树
把握大方向,先左,我们要从最左边那个开始,先H,然后D,然后I,因为DHI和EJ相当于是以B为根结点的左右子树,所以遍历B,然后B,然后B的右子树,右子树也应该是左中右,所以先J再E,反正只要这棵树下面还有树,我们就要考虑是否要先遍历它,好了HDIBJE了哈,大方向上大左子树完了,现在右子树吗,NO,大方向上我说过A是大左子树和大右子树的根结点,所以左中右,把A遍历了,然后大右子树,因为C下方还有子树,所以我们考虑是否先遍历它的子树呢,对,所以先F,再C,再G。不过假如我们把F划掉,那就是CG,即便他下面的有子树,但是我说过,左中右,它没来,所以就CG了。就这样,HDIBJEA
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值