1、二叉树的三种遍历方式
-
前序遍历:
- 访问根节点
- 前序遍历左子树
- 前序遍历右子树
- 示例:对于节点 A(左子树为 B,右子树为 C),遍历顺序为 A -> B -> C。
-
中序遍历:
- 中序遍历左子树
- 访问根节点
- 中序遍历右子树
- 示例:对于节点 A(左子树为 B,右子树为 C),遍历顺序为 B -> A -> C。这种遍历方式常用于二叉搜索树,因为它可以输出有序的元素序列。
-
后序遍历:
- 后序遍历左子树
- 后序遍历右子树
- 访问根节点
- 示例:对于节点 A(左子树为 B,右子树为 C),遍历顺序为 B -> C -> A。
2、 例子
已知某二叉树的中序序列为 CBDAEFI、先序序列为 ABCDEFI,则该二叉树的高度为()
A、2
B、3
C、4
D、5
答案是:C
解析:
1、获取根节点
已知 先序序列为 ABCDEFI,那么首先遍历的节点是A,A为根节点
2、获取左右子树
中序序列为 CBDAEFI,二叉树由CBD和EFI构成
先序序列为 ABCDEFI中第二遍历的是B,所以中序遍历中CBD,B为左子树的根节点,CD分别为左右子树
先序遍历中EFI,E首先被遍历,FI可能为左右子树,但中序遍历中EFI,E并不是位于中间遍历,所以E没有左子树
FI中先序遍历了F,I有可能是F的左节点,但是中序遍历中F没有左节点,所以I为F的右节点
3、根据二叉树图来确定树的高度
二叉树的高度也是指从根节点到最远叶子节点的最长路径上的节点数,二叉树的层数等于他的高度
二叉树层高为4,所以本题答案为C