二叉树 遍历

已知一棵二叉树的前序遍历为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是右侧的节点

 

 

 

 

二叉树的遍历方式有三种常见类型:前序遍历、中序遍历和后序遍历。它们的顺序如下:

  1. 前序遍历(Preorder Traversal)

    • 访问顺序:根节点 → 左子树 → 右子树

    • 操作步骤:先访问根节点,然后递归访问左子树,最后递归访问右子树。

    • 例子:对于树结构:

          A
         / \
        B   C
       / \
      D   E

      前序遍历的结果是:A B D E C

ABC

ABDEC

  1. 中序遍历(Inorder Traversal)

    • 访问顺序:左子树 → 根节点 → 右子树

    • 操作步骤:先递归访问左子树,再访问根节点,最后递归访问右子树。

    • 例子:对于上述树结构,中序遍历的结果是:D B E A C

BAC

DBEACB

 

  1. 后序遍历(Postorder Traversal)

    • 访问顺序:左子树 → 右子树 → 根节点

    • 操作步骤:先递归访问左子树,再递归访问右子树,最后访问根节点。

    • 例子:对于上述树结构,后序遍历的结果是:D E B C A

BCA

DEBCA

这些遍历方式在实际应用中,通常用于树的递归操作、表达式求值、文件系统遍历等场景。

 

posted @ 2025-11-23 02:34  ChuckLu  阅读(5)  评论(0)    收藏  举报