二叉树的遍历

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二叉树的遍历相关的知识,希望对你有一定的参考价值。

技术图片

前序遍历

NLR:前序遍历(Preorder Traversal)又叫先序遍历。
遍历顺序为:根节点—>左子树—>右子树,所以上图前序遍历的结果为 ABDECFG

代码实现:

public void prevOrder (TreeNode root) {
        //递归方式
        if (root == null) {
            return;
        }
        System.out.print(root.val);
        prevOrder(root.left);
        prevOrder(root.right);
    }

中序遍历

LNR:中序遍历(Inorder Traversal)。
遍历顺序为:左子树—>根节点—>右子树,上图中序遍历结果为 DBEAFCG。

代码实现:

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

后序遍历

LRN:后序遍历(Postorder Traversal)。
遍历顺序为:左子树—>右子树—>根节点,上图后序遍历结果为 DEBFGCA。

代码实现:

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

以上是关于二叉树的遍历的主要内容,如果未能解决你的问题,请参考以下文章

二叉树的遍历

讲透学烂二叉树:二叉树的遍历图解算法步骤及JS代码

二叉树(2.二叉树的遍历和实现)

根据二叉树的前序遍历和中序遍历构建二叉树的c语言完整代码

通过遍历序列构造二叉树(扩展二叉树的先序先序和中序后序和中序层序和中序)附可执行完整代码

代码题— 二叉树的层次遍历