码迷,mamicode.com
首页 > 编程语言 > 详细

PAT-1064(Complete Binary Search Tree)JAVA实现

时间:2020-09-17 13:57:32      阅读:29      评论:0      收藏:0      [点我收藏+]

标签:完全   存储   java   can   osi   complete   root   util   ++   

Complete Binary Search Tree

PAT-1064

  • 本次因为涉及到完全二叉排序树,所以可以使用数组的形式来存储二叉排序树
  • 对输入序列排序后,得到的是中序遍历二叉排序树的序列。对这颗二叉排序树进行中序遍历,将每个结点的值放入二叉树的存储数组中,最后遍历数组即可求出层次遍历的序列。
  • 此题需要注意层次遍历和数组存储二叉树的关系,利用这个关系可以快速解题。
/**
 * @Author WaleGarrett
 * @Date 2020/9/5 8:20
 */

import java.util.Arrays;
import java.util.Scanner;

/**
 * PAT-1043,1064,1066,1086,1089,1099,1098
 * 7
 * 8 6 5 7 10 8 11
 */
public class PAT_1064 {
    static final int maxn=1003;
    static int[] node;
    static int[] tree;//存储二叉树
    static int N;
    static int position=0;
    static void inOrder(int root){
        if(root>N)
            return;
        inOrder(root<<1);
        tree[root]=node[position++];
        inOrder(root<<1|1);
    }
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        int n=scanner.nextInt();
        N=n;
        node=new int[n];
        tree=new int[n+1];
        int i=0;
        while(n!=0){
            node[i]=scanner.nextInt();
            i++;
            n--;
        }
        Arrays.sort(node);
        inOrder(1);
        for(i=1;i<N;i++){
            System.out.print(tree[i]+" ");
        }
        System.out.println(tree[N]);
    }
}

PAT-1064(Complete Binary Search Tree)JAVA实现

标签:完全   存储   java   can   osi   complete   root   util   ++   

原文地址:https://www.cnblogs.com/GarrettWale/p/13617358.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!