二叉树 遍历
已知一棵二叉树的前序遍历为ABDFCE,中序遍历为DFBACE,则后序遍历为?
前序遍历是A开头,所以A是根节点
中序遍历A左边的DFB是A左侧的,CE是A右侧的
前序遍历的时候,DFB的顺序是BDF,所以B第二层是根节点,也是A的左侧子节点
前序遍历的时候,CE的顺序是CE,所以C是第二层的根节点,也是A的右侧子节点
因为中序遍历的时候是DFB,而B是父节点。所以DF是B的左侧部分的节点。B左侧只有一个节点,所以DF必然是分布在两层
因为中序遍历的时候是CE,而C是父节点,所以E是右侧的节点
二叉树的遍历方式有三种常见类型:前序遍历、中序遍历和后序遍历。它们的顺序如下:
-
前序遍历(Preorder Traversal)
-
访问顺序:根节点 → 左子树 → 右子树
-
操作步骤:先访问根节点,然后递归访问左子树,最后递归访问右子树。
-
例子:对于树结构:
A / \ B C / \ D E前序遍历的结果是:
A B D E C
-
ABC
ABDEC
-
中序遍历(Inorder Traversal)
-
访问顺序:左子树 → 根节点 → 右子树
-
操作步骤:先递归访问左子树,再访问根节点,最后递归访问右子树。
-
例子:对于上述树结构,中序遍历的结果是:
D B E A C
-
BAC
DBEACB
-
后序遍历(Postorder Traversal)
-
访问顺序:左子树 → 右子树 → 根节点
-
操作步骤:先递归访问左子树,再递归访问右子树,最后访问根节点。
-
例子:对于上述树结构,后序遍历的结果是:
D E B C A
-
BCA
DEBCA
这些遍历方式在实际应用中,通常用于树的递归操作、表达式求值、文件系统遍历等场景。

浙公网安备 33010602011771号