zoukankan      html  css  js  c++  java
  • 【数据结构与算法】9.2、顺序存储二叉树

    1、

    2、代码实现

    package com.hblg.tree;
    
    /**
     * @author i
     * @create 2019/10/13 18:01
     * @Description 顺序存储二叉树
     *
     */
    public class ArrBinaryTreeDemo {
    
        public static void main(String[] args) {
            int [] array = {1,2,3,4,5,6,7};
            ArrBinaryTree arrBinaryTree = new ArrBinaryTree(array);
            arrBinaryTree.postOrder(0);
        }
    
    }
    
    /***
     * 顺序存储二叉树
     */
    class ArrBinaryTree{
    
        private int [] array;
    
        public ArrBinaryTree(int[] array) {
            this.array = array;
        }
    
        //前序遍历
        public void preOrder(int no){
            if (array == null || array.length == 0){
                System.out.println("数组为空 不能进行遍历!");
                return;
            }
    
            System.out.print(array[no]+"	");
            //左节点遍历
            if ((2*no+1)<array.length){
                preOrder((2*no+1));
            }
            //右节点遍历
            if ((2*no+2)<array.length){
                preOrder((2*no+2));
            }
        }
    
        //中序遍历
        public void midOrder(int no){
            if(array == null || array.length == 0){
                System.out.println("数组为空,不能进行遍历");
                return;
            }
            //左节点遍历
            if ((2*no+1)<array.length){
                preOrder((2*no+1));
            }
            System.out.print(array[no]+"	");
            //右节点遍历
            if ((2*no+2)<array.length){
                preOrder((2*no+2));
            }
        }
    
        //后续遍历
        public void postOrder(int no){
            if(array == null || array.length == 0){
                System.out.println("数组为空,不能进行遍历");
                return;
            }
            //左节点遍历
            if ((2*no+1)<array.length){
                preOrder((2*no+1));
            }
    
            //右节点遍历
            if ((2*no+2)<array.length){
                preOrder((2*no+2));
            }
            System.out.print(array[no]+"	");
        }
    
    }
    
  • 相关阅读:
    linux系统之tr命令
    Tmux会话-基本操作及原理
    [题解] P1552 [APIO2012]派遣
    数论学习笔记
    Splay 学习笔记
    SpringCloud---入门篇(1)
    获小黄杉有感
    2020湖湘杯-CRYPTO-简单的密码3 WriteUp (CBC字节翻转)
    ECC椭圆曲线加密算法—加解密(SageMath实现)
    栅栏密码&W型栅栏密码-加解密(python实现)
  • 原文地址:https://www.cnblogs.com/qxlxi/p/12860791.html
Copyright © 2011-2022 走看看