PTA团体程序设计天梯赛-练习集 L2完全二叉树的层序遍历(递归)

简介: PTA团体程序设计天梯赛-练习集 L2完全二叉树的层序遍历(递归)

题意

完全二叉树的后序序列,求二叉树的层次遍历。

思路

后序遍历是左子树 右子树 根

用顺序存储表示完全二叉树时,数组就是层次遍历的顺序。

考虑p输入的时候按照后序遍历的顺序递归建树。

代码

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5+10;
int n,a[35];
void dfs(int u){
  if(u>n) return ;
  dfs(2*u);
  dfs(2*u+1);
  cin>>a[u];
}
int main(){
  //后序:左子树 右子树 根节点
  cin>>n;
  dfs(1);
  for(int i=1;i<=n;i++){
    cout<<a[i];
    if(i==n) puts("");
    else cout<<" ";
  }
  return 0;
}
目录
相关文章
|
7月前
|
API
【二叉树】练习题终章
【二叉树】练习题终章
52 0
【洛谷算法题】B2029-大象喝水【入门1顺序结构】
【洛谷算法题】B2029-大象喝水【入门1顺序结构】
|
C语言 C++
PTA团体程序设计天梯赛-练习集: L1-050 倒数第N个字符串 ( 15分 )
给定一个完全由小写英文字母组成的字符串等差递增序列,该序列中的每个字符串的长度固定为 L,从 L 个 a 开始,以 1 为步长递增。例如当 L 为 3 时,序列为 { aaa, aab, aac, ..., aaz, aba, abb, ..., abz, ..., zzz }。这个序列的倒数第27个字符串就是 zyz。对于任意给定的 L,本题要求你给出对应序列倒数第 N 个字符串。 输入格式: 输入在一行中给出两个正整数 L(2 ≤ L ≤ 6)和 N(≤105)。 输出格式: 在一行中输出对应序列倒数第 N 个字符串。题目保证这个字符串是存在的。 输入样例:
181 0
|
IDE Java 开发工具
[软考]之树与二叉树的遍历
[软考]之树与二叉树的遍历
88 0
|
存储 移动开发 Python
【蓝桥杯集训·每日一题】AcWing 3555. 二叉树
文章目录 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 三、知识风暴 最近公共祖先
88 0
|
存储 移动开发
【蓝桥杯集训·每日一题】AcWing 1497. 树的遍历
文章目录 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 三、知识风暴 递归
77 0
|
存储
【2020团体程序设计天梯赛】L2-3 完全二叉树的层序遍历(后序遍历转层次遍历)
【2020团体程序设计天梯赛】L2-3 完全二叉树的层序遍历(后序遍历转层次遍历)
210 1
7-11 玩转二叉树 —— 程序设计天梯赛
给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。这里假设键值都是互不相等的正整数。
104 0
7-11 玩转二叉树 —— 程序设计天梯赛
|
机器学习/深度学习 C++
【力扣·每日一题】1036. 逃离大迷宫 (C++ bfs 思维)
【力扣·每日一题】1036. 逃离大迷宫 (C++ bfs 思维)
98 0
【力扣·每日一题】1036. 逃离大迷宫 (C++ bfs 思维)
二叉树小题练手
二叉树小题练手
二叉树小题练手