前、中、后序遍历顺序存储二叉树

package org.structure.tree;

/**
 * 顺序存储二叉树
 * @author cjj_1
 * @date 2020-08-20 17:23
 */
public class OrderTreeDemo {
    
    
    public static void main(String[] args) {
    
    
        int[] arr = {
    
    1,2,3,4,5,6,7};
        ArrBinaritryTree arrBinaritryTree = new ArrBinaritryTree(arr);
        arrBinaritryTree.sufixList(0);
    }
}

//顺序二叉树
class ArrBinaritryTree {
    
    
    int[] arr;
    public  ArrBinaritryTree(int[] arr){
    
    
        this.arr = arr;
    }
    //前序遍历顺序存储二叉树
    public void  preList(int index){
    
    
        if(arr.length<=index){
    
    
            return;
        }
        System.out.println(arr[index]);//首先打印当前节点
        preList(index*2+1);//打印左节点
        preList(index*2+2);//打印右节点
    }
    //中序遍历顺序遍历顺序存储二叉树
    public void  infixList(int index){
    
    
        if(arr.length<=index){
    
    
            return;
        }
        infixList(index*2+1);//打印左节点
        System.out.println(arr[index]);//首先打印当前节点
        infixList(index*2+2);//打印右节点
    }
    //后序遍历顺序遍历顺序存储二叉树
    public void  sufixList(int index){
    
    
        if(arr.length<=index){
    
    
            return;
        }
        sufixList(index*2+1);//打印左节点
        sufixList(index*2+2);//打印右节点
        System.out.println(arr[index]);//首先打印当前节点
    }
}


猜你喜欢

转载自blog.csdn.net/weixin_40128696/article/details/108141030