pat1064 Complete Binary Search Tree (30)——递归
来源:互联网 发布:2016 fc2视频最新域名 编辑:程序博客网 时间:2024/06/06 13:12
思路:先将数组排序,每次计算每个二叉点的左孩子点数,并维护好[left,right] 区间。
#include<iostream>#include<stdlib.h>using namespace std;const int maxn =1005;int n,a[maxn],ans[maxn];int cmp(const void *a,const void *b){return *(int *)a-*(int *)b;}int get_son(int root){if(root>n) return 0;if(root*2>n) return 1; // 叶节点int s=1;s+=get_son(root*2);s+=get_son(root*2+1);return s;//返回左孩子个数}void dfs(int root,int l,int r) //求得每个二叉树点的相应位置的值{if(root>n) return ;int left_son=get_son(root*2);ans[root]=l+get_son(root*2);dfs(root*2,l,ans[root]-1);dfs(root*2+1,ans[root]+1,r);}void solve(){qsort(a,n,sizeof(a[0]),cmp);dfs(1,0,n-1);for(int i=1;i<n;i++){printf("%d ",a[ans[i]]);}printf("%d\n",a[ans[n]]);}int main(){scanf("%d",&n);for(int i=0;i<n;i++){scanf("%d",&a[i]);}solve();return 0;}
- pat1064 Complete Binary Search Tree (30)——递归
- pat1064 Complete Binary Search Tree
- PAT1064:Complete Binary Search Tree (Java实现)
- 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)
- 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)
- 博客已移至博客园
- 【leetcode】Balanced Binary Tree
- yum安装lamp环境
- 01背包、完全背包、多重背包
- paip.解决 Gtk-CRITICAL **: IA__gtk_widget_show: assertion `GTK_IS_WIDGET (widget)' failed
- pat1064 Complete Binary Search Tree (30)——递归
- HDU 3686 Traffic Real Time Query System(点双连通缩点 + LCA)
- 【leetcode】Minimum Depth of Binary Tree
- 1006. Team Rankings
- Microsoft Visio clipboard BUG
- grub root=LABEL=/ 含义 (grub手动启动rhel5.9)
- 放弃Bootstrap&Foundation,迎接Semantic UI?
- grub root=LABEL=/ 含义 (grub手动启动rhel5.9)
- 【leetcode】Path Sum