Advertisement

PTA天梯赛-二叉搜索树第二层节点计数

阅读量:

二叉搜索树可以表现为一种空树的形态,或者是满足特定条件的二叉树结构:当其左子树非空时,左子树中所有节点的数值均不大于其根节点的值;当其右子树非空时,右子树中所有节点的数值均大于根节点的值;同时,该树的左右子树本身也必须符合二叉搜索树的定义。

将一组数字按照指定顺序依次插入到初始为空的二叉搜索树中,需要完成的任务是计算最终生成的树中最底层两个层级中的节点总数。

输入格式方面,第一行提供一个正整数 N(≤1000),表示待插入数字的数量。第二行则包含 N 个位于区间 [−1000,1000] 内的整数,各数字之间以空格进行分隔。

输出格式要求在一行内给出最底层两个层级所包含的所有节点数量之和。

输入样例为:9 25 30 42 16 20 20 35 -5 28,对应的输出样例为:6
思路分析:从题目描述可以看出,问题涉及到了树结构的应用,并且由于二叉搜索树具有左右子树同样为二叉搜索树的特点,因此在构建过程中可以考虑使用递归的方式进行处理。接下来我们来观察具体的代码实现方式:

复制代码
    #include <iostream>
    #include <stdlib.h> 
    using namespace std;
    typedef struct TNode  //创建树的结构 
    { int data;
      struct TNode *

全部评论 (0)

还没有任何评论哟~