首页 > 其他分享 >[NOIP2001 普及组] 求先序排列

[NOIP2001 普及组] 求先序排列

时间:2022-08-15 07:55:15浏览次数:59  
标签:普及 排列 NOIP2001 求先序 后序 中序 子树 二叉树 遍历

试题分析:题目中提及了树的先序,中序,后序排列,所以我们需要先知道这三种排列是什么意思。

二叉树的3种(深度优先)排列:

先序排列,“根左右”。即对于二叉树的每一个子树,先访问其根,再分别遍历其左右儿子(子树)。

中序排列,“左根右”。即对于二叉树的每一个子树,先遍历其左儿子,再访问其根,然后遍历右儿子。

后序排列,“左右根”。即对于二叉树的每一个子树,先分别遍历其左右儿子,最后访问其根。

看完知识点,我们再来说思路,我们可以根据输入的后序排列来确定这个树的根结点。相同的,在后序排列中,子树的根就是它后序排列的最后一个字母。然后再带入到中序排列中,推出左子树与右子树。如果说子树中还有子树,那我们便要进行下一层的递归,直到递归到最后一个子树为止。

代码如下:

 

标签:普及,排列,NOIP2001,求先序,后序,中序,子树,二叉树,遍历
From: https://www.cnblogs.com/xhklkmh/p/16586957.html

相关文章

  • [2001年NOIP普及组] 数的计算
    算法分析:一个数可分为自身(+1)和自身除以2的数所带的次数,适合用递推从前往后推,比如说4可以分为2和1和自身所带表的数相加121231341424124注意:自身也要加1,若不足3直......
  • [NOIP2001 普及组] 数的计算
    试题分析:以4为例子:4后面可以跟上1,2组成14,24。14后面跟不了,24可以跟上1组成124,再加上4本身就可以得到4的种类:14,24,124,4。而我们只要算出1,2的种类就可以加起来得到4......
  • [2000年NOIP普及组] 税收与补贴问题
    [2000年NOIP普及组]税收与补贴问题分析:根据题意,在销量随售价改变的基础上求最小的补贴或税收,本题用了打表的方式来展现售价与销量之间的关系,其中出现了几个与普遍的规律......
  • [NOIP2001 提高组] 一元三次方程求解
    首先输入系数根据提示:三个实根之差绝对值均>=1......求解最后输出三个实根代码:#include<iostream>#include<cstdio>#include<math.h>usingnamespacestd;intmain(){......
  • [2001年NOIP普及组] 最大公约数和最小公倍数问题
     [2001年NOIP普及组]最大公约数和最小公倍数问题思路:可以运用暴力枚举法。先用两个数的乘积=他们的最大公约数*最小公倍数的公式求出乘积num,再在已知范围内暴力搜素能......
  • [2016年NOIP普及组] 回文日期
    [2016年NOIP普及组]回文日期分析:根据题意,有一个由年月日组成的八位数,判断是否是回文日期,因为每个月的天数是不一样的,所以可以开一个数组来存每个月的天数,此时有一个特殊......
  • P1008 [NOIP1998 普及组] 三连击
    P1008[NOIP1998普及组]三连击分析:根据题意,有1-9这9个数要分成三组组成三个三位数,意味着这9个数只能出现一次,且三个三位数的比例为1:2:3,由此可以得知这三个数中最小的那......
  • [2016年NOIP普及组] 回文日期
    [2016年NOIP普及组]回文日期题目大意:用 8 位数字表示一个日期,其中,前 4 位代表年份,接下来 2 位代表月 份,最后 2 位代表日期,一个日期是回文的,当且仅当表示这个日......
  • [NOIP1998 普及组] 三连击
    [NOIP1998普及组]三连击思路:本题可以运用暴力枚举法,因为题目中有9个数字,所组成的3个三位数a,b,c的各个位数上的数的乘积与这已知的9个数的乘积相等,并且b=2*a,c=3*a。从能......
  • [NOIP2001 提高组] 一元三次方程求解
    试题描述:输入一行,4个实数a,b,c,d输出一行,3个实根,从小到大输出,并精确到小数点后2位。样例输入1-5-420样例输出-2.002.005.00#include<bits/stdc+......