返回

深入浅出谈二叉树遍历(五-最终篇)

闲谈

小嘟又和大家见面啦,今天小嘟要和大家聊得话题是二叉树三种遍历方式在代码方面的异同。

目录

  1. 二叉树遍历的基本概念
  2. 三种常见的遍历方式
  3. 三种遍历方式的代码实现
  4. 遍历方式的比较
  5. 遍历方式在实际开发中的应用

1. 二叉树遍历的基本概念

二叉树遍历是指对二叉树中的每个节点进行访问的一种过程。访问的顺序可以是前序遍历、中序遍历或后序遍历。

2. 三种常见的遍历方式

  • 前序遍历 :前序遍历是先访问根节点,然后再访问左子树和右子树。
  • 中序遍历 :中序遍历是先访问左子树,然后再访问根节点和右子树。
  • 后序遍历 :后序遍历是先访问左子树和右子树,然后再访问根节点。

3. 三种遍历方式的代码实现

前序遍历的代码实现

public static void preorderTraversal(TreeNode root) {
    if (root == null) {
        return;
    }

    System.out.print(root.val + " ");
    preorderTraversal(root.left);
    preorderTraversal(root.right);
}

中序遍历的代码实现

public static void inorderTraversal(TreeNode root) {
    if (root == null) {
        return;
    }

    inorderTraversal(root.left);
    System.out.print(root.val + " ");
    inorderTraversal(root.right);
}

后序遍历的代码实现

public static void postorderTraversal(TreeNode root) {
    if (root == null) {
        return;
    }

    postorderTraversal(root.left);
    postorderTraversal(root.right);
    System.out.print(root.val + " ");
}

4. 遍历方式的比较

三种遍历方式的比较如下表所示:

遍历方式 时间复杂度 空间复杂度
前序遍历 O(n) O(n)
中序遍历 O(n) O(n)
后序遍历 O(n) O(n)

5. 遍历方式在实际开发中的应用

三种遍历方式在实际开发中都有广泛的应用。例如,前序遍历可以用于打印二叉树的结构,中序遍历可以用于对二叉树中的数据进行排序,后序遍历可以用于计算二叉树的高度。