zoukankan      html  css  js  c++  java
  • 04-树6 Complete Binary Search Tree(30 分)


    title: 04-树6 Complete Binary Search Tree(30 分)
    date: 2017-11-12 14:20:46
    tags:
    - 完全二叉树
    - 二叉搜索树
    categories: 数据结构


    题目链接

    题目大意

    给出n个节点,构造一棵完全二叉搜索树。
    最后按层次遍历输出这棵树。

    分析

    搜索二叉树的中序遍历是按照由小到大的顺序遍历的。
    而完全二叉树,知道树的结点后就可以唯一确定树的结构,因此知道树的结点数后,中序遍历并将结点由小到大给树赋值,就可以构建出树。

    AC代码

    #include <bits/stdc++.h>
    using namespace std;
    int b[1023], a[1023];
    int j=0, N;
    void inOrder(int x){
        if(x<=N){
            //遍历左子树
            inOrder(x + x);
            //更新根节点
            b[x] = a[j++];
            //遍历右子树
            inOrder(x+x+1);
        }
    }
    
    int main(int argc, char const *argv[])
    {
        int i;
        cin >> N;
        for(i = 0; i<N; i++)
            cin >> a[i];
        sort(a, a + N);
        inOrder(1);
        cout << b[1];
        for(i = 2; i<=N; i++)
            cout << ' ' << b[i];
    
        return 0;
    }
    
    
    转载请保留原文链接及作者
    本文标题:
    文章作者: LepeCoder
    发布时间:
    原始链接:
  • 相关阅读:
    springboot+mybatisplus使用xml找不到mapper的解决办法
    PDF转换成Word文档
    Mybatis-Plus增删改查
    Redis 常用命令
    Java 获取两个List<String>中不同的数据
    controller 返回界面 中文乱码
    Navicat已经成功连接,密码忘记的解决方案
    List数组指定切割
    xml字符串转换成Map
    Java 前一个月的最后一天日期计算
  • 原文地址:https://www.cnblogs.com/lepeCoder/p/7822823.html
Copyright © 2011-2022 走看看