二叉树遍历(前序中序后序)

二叉树的遍历分为“前序遍历”“中序遍历”“后序遍历”和“层序遍历”。

二叉树结构如下

一:前序遍历

前序遍历的顺序为‘’‘’‘

      1.即先访问根节点,取得根节点值后,在访问左子树,,2.将左子树当成一颗独立的树,取根节点值,依次循环此操作,直到左子树为NULL,3.再访问最后取根的节点的右子树,将其当成一颗独立的树,再进行1, 2,3操作(依次进行),直到左右都为NULL,就返回根的上一个节点的右子树,循环操作,直到返回的右子树为最初根的右子树为止。

如图,先取 1 然后访问左子树取根2,因为2的左子树为空返回,访问2的右子树3,取根3,由图可知,2的左右都访问完了,继续1的遍历顺序,访问1右子树5,取根5,访问5的左子树4,取根4,4的左右为NULL返回,访问5的右为NULL,遍历结束

得到1->2->3->5->4

代码如下,当根不为空时进入递归,直到根为空返回

二:中序遍历

中序遍历的顺序为‘’‘’‘

如图,1的左为2,向2遍历,因为2的左为NULL返回,取根2,再向2的右3遍历,因为3的左为NULL返回,取3,向3右遍历为NULL,返回1,继续1的遍历顺序,左遍历完了,取根1,再向1的右5遍历,5向左4遍历,4的左为NULL返回,取4,向右为NULL,返回5,取根5,向右为NULL,遍历结束

2->3->1->4->5

代码如下

三:后序遍历

         中序遍历的顺序为‘’‘’‘

如图:1的左为2,向2遍历,2的左为NULL,向右3遍历,3的左右为NULL,取根3,返回2,2的左右遍历完了,取根2,1的左遍历完,向1的右5遍历,5向左为4,4的左右为NULL返回,取根4,5的左遍历完,向右为NULL;返回5,取根5,1的右遍历完,取根1.

最后得到3->2->4->5->1.

结语

牢记一点,每到一个新的节点,就重新进行一次遍历(并且取值只取根的值)。

如:进行前序遍历,访问最开始的根后,访问左,此时再将它当做根,访问左,直到左为空,再访问右,在依次向上进行之前未完成的遍历。(中序后序同理)

个人学完三种遍历的一点总结,如果言语有不当处,请大佬指正

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值