数据结构基础复习二叉树的递归遍历

Posted

tags:

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

一、绪论

  今天来点简单的,好久没有写过代码了,基础知识都快忘了,从今天开始还是得简简单单的写一些,作为复习吧,不能光搞研究,代码给拉下了。

二、目的

  复习二叉树的遍历

  二叉树的遍历有三种,前中后。这里的前中后是根据树的根节点来看的,前序就是,根节点---左子节点---右子节点。其余类同。其实递归遍历没什么好谢的,都是教材上有的,这里直接把代码贴出来,不做过多的累述。

//前序遍历;
    public void preOderRecur( Node root ){
        if(root == null){
            return ;
        }

        System.out.print(root.value + " ");
        preOderRecur(root.left);
        preOderRecur(root.right);
    }

    //中序遍历;
    public void inOderRecur( Node root ){
        if(root == null){
            return ;
        }

        inOderRecur(root.left);
        System.out.print(root.value + " ");
        inOderRecur(root.right);
    }

    //后序遍历;
    public void posOderRecur( Node root ){
        if(root == null){
            return ;
        }

        posOderRecur(root.left);
        posOderRecur(root.right);
        System.out.print(root.value + " ");
    }

  当然在遍历二叉树的时候,还得构造二叉树,这里同样是采用递归的方式去构造。

 1 //构造二叉树;
 2     public Node root ;
 3     protected Node creBinaryTree(int[] seeds){
 4         root = null ;
 5         for(int node : seeds){
 6             root = insert(node) ;
 7         }
 8         return root ;
 9     }
10     public Node insert(int data){
11         return root =  insert(root , data);
12     }
13     public Node insert(Node node ,int value){
14         if(node == null){
15             node = new Node(value) ;
16         } else {
17             if(node.left== null) {
18                 node.left = insert(node.left, value);
19             } else {
20                 node.right = insert(node.right, value);
21             }
22         }
23         return node;
24     }

 

以上是关于数据结构基础复习二叉树的递归遍历的主要内容,如果未能解决你的问题,请参考以下文章

Java实现二叉树的创建递归/非递归遍历

2023数据结构考研复习-树

2023数据结构考研复习-树

二叉树遍历和延伸

数据结构关于二叉树的先序遍历中序遍历及后续遍历复习笔记

数据结构关于二叉树的先序遍历中序遍历及后续遍历复习笔记