📜  树遍历-顺序,前顺序和后顺序(1)

📅  最后修改于: 2023-12-03 15:26:41.355000             🧑  作者: Mango

树遍历-顺序,前顺序和后顺序

在处理树形结构的算法中,树的遍历是一个基本操作。树的遍历是指按照某种方式遍历树的所有结点。在树遍历中,关键点在于每个结点访问的顺序。树的遍历一般分为前序遍历、中序遍历和后序遍历三种方式。

前序遍历

前序遍历是指以根节点的访问顺序为基础,优先访问该节点的左孩子,再访问该节点的右孩子。

public static void preorder(TreeNode root) {
    if (root == null) {
        return;
    }
    System.out.print(root.val + " ");
    preorder(root.left);
    preorder(root.right);
}

前序遍历的应用场景:深度优先搜索、前序遍历二叉树等。

中序遍历

中序遍历是指以根节点的访问顺序为基础,优先访问该节点的左孩子,再访问该节点,最后访问该节点的右孩子。

public static void inorder(TreeNode root) {
    if (root == null) {
        return;
    }
    inorder(root.left);
    System.out.print(root.val + " ");
    inorder(root.right);
}

中序遍历的应用场景:二叉查找树中的数据查找、按顺序输出二叉树中的结点等。

后序遍历

后序遍历是指以根节点的访问顺序为基础,优先访问该节点的左孩子,再访问该节点的右孩子,最后访问该节点。

public static void postorder(TreeNode root) {
    if (root == null) {
        return;
    }
    postorder(root.left);
    postorder(root.right);
    System.out.print(root.val + " ");
}

后序遍历的应用场景:统计二叉树的深度,删除二叉树等。

以上就是关于树的三种遍历方式的介绍,希望能对有需要的程序员有所帮助。