二叉树遍历

博客主要介绍了二叉树的遍历方式。层序遍历按层次逐个遍历,一般用递归实现。根据遍历先后顺序,还分为先序(根、左、右)、中序(左、根、右)和后序(左、右、根)遍历,并分别给出了示例二叉树的遍历顺序。

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

关于二叉树遍历

最为清晰的就是层序遍历 也就是按照层次来一个个遍历
那么下图的遍历顺序就是 1-2-3-4-5-6-7-8-9-10-11-12-13-14-15
(一般来讲使用的是递归遍历)
这样根据遍历的先后顺序分为先序遍历 、中序遍历 、 后序遍历

1.先序遍历 (按照 根节点、左子节点、右子节点的顺序进行遍历 )
按照实现的代码来讲
cout<<根节点<<endl;

递归左子节点

递归右子节点
首先输出的是主根节点,然后就是左子根节点 总是在遍历完所有的左子根节点之后才开始遍历右子根节点,就是相当于栈 根只是当前的节点输出
递归左子节点1
此时已经进入左子节点1上继续递归左子节点2 递归右边是等到你当前的左递归完成 因为此时你的程序递归右子节点的代码在递归左子节点的代码之前,左边一进入就是再调用左边的左边,如此首先肯定是输出所有的左子节点 就相当于是 首先递归到最内层然后一层一层往外释放
所以按照先序遍历的顺序就是1-2-4-9-8-5-10-11-3-6-12-13-7-14-15
由此观之 中序遍历的顺序就是(左 根 右) 递归完成左边的再输出根节点
首先递归到最左边的子树区域 然后按照左边的次序优先的顺序到达叶子结点 然后输出根节点
中序遍历的输出顺序为:9-4-8-2-10-5-11-1-12-6-13-3-14-7-15
后序遍历的方式就是按照(左子节点 右子节点 根节点)的顺序
所以就是要遍历完 所有的节点之后反过来从首先遍历完所有的子节点开始输出 输出的顺序还是按照先到的先输出 由于是左子节点开始遍历 所以左边优先 此时就是看到达的顺序来输出
后序遍历的顺序为 9-8-4-10-11-5-2-12-13-6-14-15-7-3-1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值