1064. Complete Binary Search Tree
2014-03-21 22:07
260 查看
题目链接:http://pat.zju.edu.cn/contests/pat-a-practise/1064
按正常思路,重点仍在建树,需要结合完全二叉树与二叉搜索树的性质,确定跟节点的位置。
另外,其他思路见代码注释。
按正常思路,重点仍在建树,需要结合完全二叉树与二叉搜索树的性质,确定跟节点的位置。
另外,其他思路见代码注释。
/* * 参考:http://biaobiaoqi.me/blog/2013/08/31/pat-1061-pat-1064/ * * 使用数组存放完全二叉树,n的做孩子为2n,右孩子为2n+1. * 对输入序列排序; * 中序遍历完全二叉树,访问节点时插入数据; * 按序访问数组(完全二叉树的层次遍历),输出结果。 */ #include <stdio.h> #include <algorithm> #define SIZE 1000+10 using namespace std; int buf[SIZE]; int tree[SIZE]; int num=1, n; void inorder(int cur) { if (2*cur <= n) { inorder(2*cur); } tree[cur] = buf[num++]; if (2*cur+1 <= n) { inorder(2*cur+1); } } int main() { scanf ("%d", &n); int i; for (i = 1; i <= n; i++) { scanf ("%d", &buf[i]); } sort(buf+1, buf+n+1); // 中序遍历时插入数据 inorder(1); for (i = 1; i < n; i++) { printf ("%d ", tree[i]); } printf ("%d\n", tree[i]); return 0; }
相关文章推荐
- 1064. Complete Binary Search Tree (30)
- PAT-A 1064. Complete Binary Search Tree (30)
- PAT1064:Complete Binary Search Tree (Java实现)
- 1064. Complete Binary Search Tree (30)
- 1064. Complete Binary Search Tree (30)
- 1064. Complete Binary Search Tree (30)
- 1064. Complete Binary Search Tree (30)
- Programming Ability Test学习 1064. Complete Binary Search Tree (30)
- PAT-1064 Complete Binary Search Tree(完全二叉树)
- 1064. Complete Binary Search Tree (30)
- 1064. Complete Binary Search Tree
- 1064. Complete Binary Search Tree (30)
- pat1064 Complete Binary Search Tree
- PAT-A 1064. Complete Binary Search Tree
- 1064.Complete Binary Search Tree (30)...to be continued...
- 1064. Complete Binary Search Tree
- PAT--1064. Complete Binary Search Tree
- 1064. Complete Binary Search Tree (30)
- 【PAT】【Advanced Level】1064. Complete Binary Search Tree (30)
- 1064. Complete Binary Search Tree (30)