1. 前序遍历

  • 顺序:根节点 → 左子树 → 右子树
  • 特点:先访问根节点,再递归遍历左子树和右子树。

2. 中序遍历

  • 顺序:左子树 → 根节点 → 右子树
  • 特点:先递归遍历左子树,再访问根节点,最后遍历右子树。对二叉搜索树(BST)进行中序遍历时,结果是有序的。

3. 后序遍历

  • 顺序:左子树 → 右子树 → 根节点
  • 特点:先递归遍历左子树和右子树,最后访问根节点。

关系总结

  • 访问根节点的时机

    • 前序遍历:最先访问根节点。
    • 中序遍历:在左子树之后、右子树之前访问根节点。
    • 后序遍历:最后访问根节点。
  • 应用场景

    • 前序遍历:用于复制树或生成前缀表达式。
    • 中序遍历:常用于二叉搜索树的有序输出。
    • 后序遍历:适用于删除树或生成后缀表达式。

示例

对于二叉树:

    1
   / \
  2   3
 / \
4   5
  • 前序遍历:1 → 2 → 4 → 5 → 3
  • 中序遍历:4 → 2 → 5 → 1 → 3
  • 后序遍历:4 → 5 → 2 → 3 → 1
Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐