zl程序教程

您现在的位置是:首页 >  其他

当前栏目

1064 Complete Binary Search Tree (30 分)【难度: 一般 / 知识点: 完全二叉搜索树】

搜索知识点 30 完全 Tree search Binary 一般
2023-09-11 14:15:52 时间

在这里插入图片描述
https://pintia.cn/problem-sets/994805342720868352/problems/994805407749357568
二叉搜索数的中序遍历是有序的。故先将权值排序。
然后中序建树。因为我们用数组存树就是一层层的存的。
故直接将数组输出即可。
在这里插入图片描述

#include<bits/stdc++.h>
using namespace std;
const int N=1010;
int tree[N],w[N],idx,n; 
void build(int root)
{
	if(root>n) return;
	build(root*2);//建左子树
	tree[root]=w[idx++];
	build(root*2+1);//右子树
}
int main(void)
{
	cin>>n;
	for(int i=0;i<n;i++) cin>>w[i];
	sort(w,w+n);
	build(1);
    cout<<tree[1];
	for(int i=2;i<=n;i++) cout<<" "<<tree[i];
	return 0;
}