1064. Complete Binary Search Tree 解析
来源:互联网 发布:手动安装windows补丁 编辑:程序博客网 时间:2024/04/20 09:27
参考了 http://blog.csdn.net/iaccepted/article/details/20726067 的思想
这个题很好的利用了树的的各种性质,很值得琢磨。
首先:完全二叉树 放在以1为开始编号的数组中满足
左孩子的编号 = root编号*2;
右孩子的编号 = root编号*2+1;
而且按数组顺序输出直接就是层序遍历的顺序。
其次:二叉搜索树的中序序列就是顺序排序。
有了这两个性质就能很快的解决这个问题。
#include <iostream>#include <algorithm>#include <cstring>#include <climits>#include <string>#include <map>#include <stack>#include <queue>#include <set>#define MAX 1010using namespace std;int n ;int list[MAX],ans[MAX];int pos = 1;void build(int root){if(root > n)return;int l = 2 * root ,r = 2*root + 1;build(l);ans[root] = list[pos++];build(r);}int main(){scanf("%d",&n);for(int i =1 ; i <= n;i++){scanf("%d",&list[i]);}sort(&list[1],&list[1]+n);build(1);printf("%d",ans[1]);for(int i = 2 ;i <= n ;i++)printf(" %d",ans[i]);printf("\n");return 0;}
阅读全文
0 0
- 1064. Complete Binary Search Tree 解析
- 1064. Complete Binary Search Tree
- 1064. Complete Binary Search Tree
- 1064. Complete Binary Search Tree
- 1064.Complete Binary Search Tree
- 1064. Complete Binary Search Tree
- 1064. Complete Binary Search Tree
- 1064. Complete Binary Search Tree
- 1064. Complete Binary Search Tree
- 1064. Complete Binary Search Tree
- 1064. Complete Binary Search Tree
- 1064. Complete Binary Search Tree
- 1064. Complete Binary Search Tree
- Complete Binary Search Tree
- Complete Binary Search Tree
- 1064. Complete Binary Search Tree (30)-PAT
- 1064. Complete Binary Search Tree (30)
- 【PAT】1064. Complete Binary Search Tree (30)
- ThinkPHP 的页面静态化功能的实现(三)
- Lecture 16
- ThinkPHP 的页面静态化功能的实现(二)
- java 搭建基于springboot的ssh(spring + springmvc + hibernate)的gradle项目(添加多Module篇)
- 有史以来程序员最实用快捷键
- 1064. Complete Binary Search Tree 解析
- 牛客网编程基础6-8
- caffe之SSD算法词袋解析
- ThinkPHP 的页面静态化功能的实现(一)
- Informatica的下载安装和配置
- PHP人性化时间显示,实现多少秒前,多少分钟前,多少小时前
- PHP判断手机设备访问
- PHP强制下载文件
- iOS 应用跳转到AppStore评分 可内置跳转