1064. Complete Binary Search Tree (30)
来源:互联网 发布:联通大数据公司 编辑:程序博客网 时间:2024/05/15 13:01
点击打开链接
由完全二叉树和二叉搜索树构造出二叉树,然后层次遍历
先画出完全二叉树的模样,即确定左右孩子,因为都存储的是序号,左孩子为2*i,右孩子为2*i+1
由于bst中序遍历为有序的,因此中序遍历时确定data值
#include <cstdio>#include <algorithm>using namespace std;#define MAX 10010struct no{int data;int lchild;int rchild;}node[MAX];int n;int num[MAX];void create(){for(int i=1;i<=n;i++){if(2*i<=n){node[i].lchild=2*i;}else{node[i].lchild=-1;}if(2*i+1<=n){node[i].rchild=2*i+1;}else{node[i].rchild=-1;}}}int i=1;void inorder(int x){if(x!=-1){inorder(node[x].lchild);node[x].data=num[i++];inorder(node[x].rchild);}}int main(){freopen("in.txt","r",stdin);scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d",&num[i]);}sort(num+1,num+n+1);create();inorder(1);for(int i=1;i<=n;i++){if(i==n){printf("%d\n",node[i].data);}else{printf("%d ",node[i].data);}}return 0;}
0 0
- 1064. Complete Binary Search Tree (30)-PAT
- 1064. Complete Binary Search Tree (30)
- 【PAT】1064. Complete Binary Search Tree (30)
- 1064. Complete Binary Search Tree (30)
- 1064. Complete Binary Search Tree (30)
- 1064. Complete Binary Search Tree (30)
- 1064. Complete Binary Search Tree (30)
- 1064. Complete Binary Search Tree (30)
- 1064. Complete Binary Search Tree (30)
- 1064. Complete Binary Search Tree (30)
- 1064. Complete Binary Search Tree (30)
- 1064. Complete Binary Search Tree (30)
- 1064. Complete Binary Search Tree (30)
- PAT 1064. Complete Binary Search Tree (30)
- 1064. Complete Binary Search Tree (30)
- 1064. Complete Binary Search Tree (30)
- 1064. Complete Binary Search Tree (30)
- 1064. Complete Binary Search Tree (30)
- 同步和异步
- 基于HBase Hadoop 分布式集群环境下的MapReduce程序开发
- Lint (java 使用或覆盖了已过时的 API)
- Android中View大小的确定过程
- uva 1588 换挡
- 1064. Complete Binary Search Tree (30)
- IOS AudioSession
- 筛法思想--七夕节
- java 二维码生成与解析代码实现,程序源码下载可用
- 如何向GLSL中传入多个纹理
- linux驱动开发--I/O内存的访问流程
- ImportError: No module named MySQLdb
- 一步一步学JSP--JSTL(三)
- XCode发布App到调试机