1064.Complete Binary Search Tree (30)...to be continued...
来源:互联网 发布:礼品卡兑换系统源码 编辑:程序博客网 时间:2024/04/30 12:19
1064.Complete Binary Search Tree (30)…to be continued…
pat-al-1064
2017-02-14
- 参考:1064. Complete Binary Search Tree (30)-PAT甲级真题
/** * pat-al-1064 * 2017-02-14 * Cpp version * Author: fengLian_s */#include<stdio.h>#include<vector>#include<algorithm>#include<math.h>#define min(a, b) ((a) < (b)?(a):(b))using namespace std;vector<int> input, level;void getLevelOrder(int start, int end, int index){ if(start > end) return; int n = end - start + 1; int l = log(n+1) / log(2);//求总共的层数 int leaves = n - (pow(2, l)-1); int root = start + pow(2, l-1) - 1 + min(leaves, pow(2, l-1));//找到中序的根 //printf("root = %d\n", root); level[index] = input[root]; getLevelOrder(start, root-1, index*2+1); getLevelOrder(root+1, end, index*2+2);}int main(){ freopen("in.txt", "r", stdin); int n; scanf("%d", &n); input.resize(n); level.resize(n); for(int i = 0;i < n;i++) { scanf("%d", &input[i]); } sort(input.begin(), input.end());//sort也可以这样用 getLevelOrder(0, n-1, 0); printf("%d", level[0]); for(int i = 1;i < n;i++) { printf(" %d", level[i]); } putchar('\n');}
-TBC-
0 0
- 1064.Complete Binary Search Tree (30)...to be continued...
- 1099.Build A Binary Search Tree (30)...to be continued...
- 1043.Is It a Binary Search Tree (25)...to be continued...
- 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)
- C/C++【初级】使用namespace的三种方式
- .net framework3.5不能安装的解决办法
- Python多线程编程(一)
- 算法导论 红黑树 学习 插入(三)
- Android 接入微信支付宝支付
- 1064.Complete Binary Search Tree (30)...to be continued...
- Error:Execution failed for task ':app:mergeDebugResources'. >\re
- ACTIVITI ACT_RU_EXECUTION Parallelgateway 旁支
- Python多线程编程(二)
- 《中文电子病历实体关系抽取研究》——笔记
- 算法提高 P1001
- 关于模板元编程的一点反思
- 何为相机OTP
- Android调试笔记——引用unity的库后,高德地图变成白屏。