原理
- 先序遍历
又可叫前根序遍历,先遍历根节点,再遍历根节点的左子树,然后遍历根节点的右子树。 - 中序遍历
又可叫中根序遍历,先遍历根节点的左子树,再遍历根节点,然后遍历根节点的右子树。 - 后序遍历
又可叫后根序遍历,先遍历根节点的左子树,再遍历根节点的右子树,然后遍历根节点。 - 层次遍历
对整棵二叉树按从上到下,对每一层按从左到右的顺序进行遍历。这里我们需要借助队列:先访问节点的孩子节点也应比后访问节点的孩子节点先访问。故这就类似于队列先进先出的性质,每访问一个节点时,它的孩子节点(如果存在)就随着入队。
如图
![]()
先序遍历结果为——ABDHECFG
(首先从根节点开始,然后左节点,左节点成为根节点,然后再左节点,然后右节点(如果左子树遍历完后就遍历该根节点的右子树))
中序遍历结果为——HDBEAFCG
(当左节点被读取后,左节点被当作根节点)
后序遍历结果为——HDEBFGCA
(注意每个节点的左右子树必须遍历完)
层次遍历结果为——ABCDEFGH
![]()
先序遍历为 ABCDEFGHIJK
中序遍历为 CEDFBAHKJIG
后序遍历为 EFDCBKJIHGA
一些试题
操作
- 迭代实现
另外一种代码

本文详细介绍了二叉树的四种遍历方式:先序遍历(根-左-右),中序遍历(左-根-右),后序遍历(左-右-根)和层次遍历(逐层从左到右)。通过实例展示了遍历过程,并提供了相关试题和不同实现方法。
最低0.47元/天 解锁文章
4154

被折叠的 条评论
为什么被折叠?



