1099 Build A Binary Search Tree
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相关推荐
- PAT甲级1099 Build A Binary Search Tree (30分):[C++题解]建立二叉搜索树、dfs和bfs
文章目录 题目分析 题目链接 题目分析 题意重述:给定一棵二叉树的结构,和待填的数值,请将数据填到二叉树中的结点中,使之满足二叉搜索树的性质. 然后按照层序遍历输出数值. 分析: 本题分两步. 第一步 ...
- 1099. Build A Binary Search Tree (30)
1099. Build A Binary Search Tree (30) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN ...
- 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 ...
- PAT甲级——1099 Build A Binary Search Tree (二叉搜索树)
本文同步发布在CSDN:https://blog.csdn.net/weixin_44385565/article/details/90701125 1099 Build A Binary Searc ...
- PAT 甲 1099 Build A Binary Search Tree
2022.1.28 练习 PAT甲 1099 Build A Binary Search Tree (原题链接) 题解如下: #include <bits/stdc++.h> using ...
- 【PAT (Advanced Level) Practice】1099 Build A Binary Search Tree (30 分)
深搜+广搜 #include <iostream> #include <stack> #include <queue> #include <vector> ...
- 1099 Build A Binary Search Tree (30 分)【难度: 一般 / 知识点: 建立二叉搜索树】
https://pintia.cn/problem-sets/994805342720868352/problems/994805367987355648 首先: 要知道二叉搜索树的中序遍历是有序的 ...
- 【PAT甲级】1099 Build A Binary Search Tree (30 分)
一.题目分析 1. 翻译 recursively:递归地 property:性质 2. 关键点 1)二叉排序树的中序遍历结果是递增排序的,因此直接中序遍历题目给出的二叉树,将排好序的数据填入后,层序遍 ...
- 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 ...
最新文章
- 什么是心理测试系统软件,心理测评系统是什么
- Python 爬虫 —— 文件及文件夹操作
- 开课吧Java面试题:虚引用与软引用和弱引用的区别
- Linux下Bash编程之算术运算符详解(三)
- mysql Packet for query is too large (1185 1024)异常
- SPSS 分层回归(图文+数据集)【SPSS 027期】
- 关于Google Chrome浏览器离线安装包下载方法
- 愿你和我一样喜欢蛋炒饭
- Box2D引擎实现割绳子物理部分的方法
- PaddleHub创意作品 -无价之姐之三十而已
- 开发中常用的几种 Content-Type以及图片上传前后端分离开发处理方式
- Linux连接蓝牙键盘
- 电脑本地视频怎么添加外挂字幕-奇它博客
- windows10出现扬声器小红叉问题的解决方法
- ITRON同步和通信管理
- WINDOWS7-11磁盘分区教程
- 思科静态路由和浮动路由的配置
- APICloud开发从入门到放弃(零)
- 5G的介绍与个人理解
- 计算机以前e盘里的文件图片都是横排的,现在突然变成竖排怎么办】,wps文档怎么办横排变竖排 变成竖排处理方法...
热门文章
- Flex布局教程(来源:阮一峰)
- js 获取当前时间 随记
- PHP连接数据库并创建一个表
- js中函数,方法,事件对比区分,什么是方法,什么是函数
- 使用 SQL Server 的 uniqueidentifier 字段类型
- Hadoop基础-网络拓扑机架感知及其实现
- 新勒索软件DynA-Crypt不仅要加密你的文件,而且窃取并删除它们
- 610D - Vika and Segments(线段树+扫描线+离散化)
- Svn 笔记—— Hooks
- 【安全运维】 linux 系统账户,网络,简易安全加固方案(第一部分),经测试可行...