1. 本题给出了树的样子,给出了用来填充的数列,并且告诉是一棵二叉查找树。

2. 先用静态存储的方式将树的框架建立起。然后对数列进行小到大排序,利用BST中序遍历是升序的性质,通过中序遍历将数值填充的树中。

3. 层序输出的时候注意,用来控制是否输出空格的变量(1)初始化为0(2)定义在函数外

AC代码

#include<cstdio>
#include<map>
#include<set>
#include<string>
#include<cstring>
#include<iostream>
#include<vector>
#include<stack>
#include<queue>
#include<algorithm>
#include<cmath>
typedef long long LL;using namespace std;const int maxn = 110;struct Node{int data = -1,lchild,rchild;
}node[maxn];int n,data[maxn];
int num = 0;void inOrder(int root){if(root==-1)return;inOrder(node[root].lchild);node[root].data = data[num++];inOrder(node[root].rchild);
}void levelOrder(){queue<int> que;que.push(0);int num = 0;while(!que.empty()){int top = que.front();printf("%d",node[top].data);num++;if(num!=n)printf(" ");que.pop();if(node[top].lchild!=-1)que.push(node[top].lchild);if(node[top].rchild!=-1)que.push(node[top].rchild);}
}int main(){scanf("%d",&n);for(int i=0;i<n;i++){scanf("%d %d",&node[i].lchild,&node[i].rchild);}for(int i=0;i<n;i++)scanf("%d",&data[i]);sort(data,data+n);inOrder(0);levelOrder();return 0;
}

1099 Build A Binary Search Tree相关推荐

  1. PAT甲级1099 Build A Binary Search Tree (30分):[C++题解]建立二叉搜索树、dfs和bfs

    文章目录 题目分析 题目链接 题目分析 题意重述:给定一棵二叉树的结构,和待填的数值,请将数据填到二叉树中的结点中,使之满足二叉搜索树的性质. 然后按照层序遍历输出数值. 分析: 本题分两步. 第一步 ...

  2. 1099. Build A Binary Search Tree (30)

    1099. Build A Binary Search Tree (30) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN ...

  3. C++学习之路 | PTA(甲级)—— 1099 Build A Binary Search Tree (30分)(带注释)(精简)

    1099 Build A Binary Search Tree (30分) A Binary Search Tree (BST) is recursively defined as a binary ...

  4. PAT甲级——1099 Build A Binary Search Tree (二叉搜索树)

    本文同步发布在CSDN:https://blog.csdn.net/weixin_44385565/article/details/90701125 1099 Build A Binary Searc ...

  5. PAT 甲 1099 Build A Binary Search Tree

    2022.1.28 练习 PAT甲 1099 Build A Binary Search Tree (原题链接) 题解如下: #include <bits/stdc++.h> using ...

  6. 【PAT (Advanced Level) Practice】1099 Build A Binary Search Tree (30 分)

    深搜+广搜 #include <iostream> #include <stack> #include <queue> #include <vector> ...

  7. 1099 Build A Binary Search Tree (30 分)【难度: 一般 / 知识点: 建立二叉搜索树】

    https://pintia.cn/problem-sets/994805342720868352/problems/994805367987355648 首先: 要知道二叉搜索树的中序遍历是有序的 ...

  8. 【PAT甲级】1099 Build A Binary Search Tree (30 分)

    一.题目分析 1. 翻译 recursively:递归地 property:性质 2. 关键点 1)二叉排序树的中序遍历结果是递增排序的,因此直接中序遍历题目给出的二叉树,将排好序的数据填入后,层序遍 ...

  9. PAT 1099 Build A Binary Search Tree

    Sample Input: 9 1 6 2 3 -1 -1 -1 4 5 -1 -1 -1 7 -1 -1 8 -1 -1 73 45 11 58 82 25 67 38 42 Sample Outp ...

最新文章

  1. 什么是心理测试系统软件,心理测评系统是什么
  2. Python 爬虫 —— 文件及文件夹操作
  3. 开课吧Java面试题:虚引用与软引用和弱引用的区别
  4. Linux下Bash编程之算术运算符详解(三)
  5. mysql Packet for query is too large (1185 1024)异常
  6. SPSS 分层回归(图文+数据集)【SPSS 027期】
  7. 关于Google Chrome浏览器离线安装包下载方法
  8. 愿你和我一样喜欢蛋炒饭
  9. Box2D引擎实现割绳子物理部分的方法
  10. PaddleHub创意作品 -无价之姐之三十而已
  11. 开发中常用的几种 Content-Type以及图片上传前后端分离开发处理方式
  12. Linux连接蓝牙键盘
  13. 电脑本地视频怎么添加外挂字幕-奇它博客
  14. windows10出现扬声器小红叉问题的解决方法
  15. ITRON同步和通信管理
  16. WINDOWS7-11磁盘分区教程
  17. 思科静态路由和浮动路由的配置
  18. APICloud开发从入门到放弃(零)
  19. 5G的介绍与个人理解
  20. 计算机以前e盘里的文件图片都是横排的,现在突然变成竖排怎么办】,wps文档怎么办横排变竖排 变成竖排处理方法...

热门文章

  1. Flex布局教程(来源:阮一峰)
  2. js 获取当前时间 随记
  3. PHP连接数据库并创建一个表
  4. js中函数,方法,事件对比区分,什么是方法,什么是函数
  5. 使用 SQL Server 的 uniqueidentifier 字段类型
  6. Hadoop基础-网络拓扑机架感知及其实现
  7. 新勒索软件DynA-Crypt不仅要加密你的文件,而且窃取并删除它们
  8. 610D - Vika and Segments(线段树+扫描线+离散化)
  9. Svn 笔记—— Hooks
  10. 【安全运维】 linux 系统账户,网络,简易安全加固方案(第一部分),经测试可行...