二叉树的遍历

竞赛/树

二叉树遍历推导总结

一、三种遍历方式

  • 前序遍历 (Preorder):根 → 左子树 → 右子树
  • 中序遍历 (Inorder):左子树 → 根 → 右子树
  • 后序遍历 (Postorder):左子树 → 右子树 → 根

⚠️ 关键点:

  • 中序遍历最重要,因为它能明确根节点左、右子树的分界。
  • 前序/后序结合中序,才能唯一确定一棵二叉树。

二、前序 + 中序 → 后序

例子:
前序:A B D E C F G
中序:D B E A F C G

步骤:

  1. 前序第一个是根:A
  2. 中序找到 A,左边 D B E → 左子树,右边 F C G → 右子树
  3. 递归处理:
    • 左子树:前序 B D E,中序 D B E → 后序 D E B
    • 右子树:前序 C F G,中序 F C G → 后序 F G C
  4. 后序 = 左后序 + 右后序 + 根
    D E B F G C A

三、后序 + 中序 → 前序

例子:
后序:D E B F G C A
中序:D B E A F C G

步骤:

  1. 后序最后一个是根:A
  2. 中序找到 A,左边 D B E → 左子树,右边 F C G → 右子树
  3. 递归处理:
    • 左子树:后序 D E B,中序 D B E → 前序 B D E
    • 右子树:后序 F G C,中序 F C G → 前序 C F G
  4. 前序 = 根 + 左前序 + 右前序
    A B D E C F G

四、前序 + 后序 → 中序

⚠️ 一般情况下 不能唯一确定,因为缺少左右子树划分信息。
只有在 满二叉树(每个非叶子结点都有两个孩子)时,才能唯一确定。


五、口诀记忆

  • 前序首元素 是根。
  • 后序尾元素 是根。
  • 中序分左右,分割左右子树。
  • 遇到子树 → 递归求解。

六、总结

  1. 前序+中序 → 唯一确定一棵树 → 推出后序
  2. 后序+中序 → 唯一确定一棵树 → 推出前序
  3. 前序+后
posted @ 2025-09-24 17:08  stephen_zuo  阅读(50)  评论(0)    收藏  举报