二叉树基础——前序遍历中序遍历后序遍历按层遍历

Posted

tags:

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

转载请注明原文地址:

 

一:树的结点

    一般默认树的结点由:结点值、左儿子、右儿子,构造函数组成。

class TreeNode{
    int value;
    TreeNode  left;
    TreeNode  right;
    public TreeNode(int i){
    this.value=i;
    }
}

二:二叉树的遍历实现——递归和非递归

    1:递归实现==按照遍历方式(前、中、后)对左、根、右的访问顺序去 打印结点值、递归左儿子、递归右儿子

    public void preorder(TreeNode root){
        if(root==null){
            return;
        }
        System.out.println(root.val);    //
        preorder(root.left,pre);//
        preorder(root.right,pre);//
    }

    public void inorder(TreeNode root){
        if(root==null){
            return;
        }
        inorder(root.left,in); /左
        System.out.println(root.val);//
        inorder(root.right,in);//
    }

    public void postorder(TreeNode root){
        if(root==null){
            return;
        }
        postorder(root.left,post);//
        postorder(root.right,post);//
        System.out.println(root.val);//
    }

 

    2:非递归实现==使用 栈 来控制结点的处理顺序

 

以上是关于二叉树基础——前序遍历中序遍历后序遍历按层遍历的主要内容,如果未能解决你的问题,请参考以下文章

二叉树的前序遍历中序遍历后序遍历

怎么根据二叉树的前序,中序,确定它的后序

二叉树——前序遍历中序遍历后序遍历层序遍历详解(递归非递归)

二叉树中,啥是前序,中序。后序!

二叉树遍历问题(前序,中序,后序)

基础备忘 二叉树前序中序后序遍历相互求法