二叉树—相关计算题

目录

 一、概念题

二、计算题 

1、节点数 

2、深度 

3、遍历序列


 一、概念题

1、在用树表示的目录结构中,从根目录到任何数据文件,有( )通道 

 答案:唯一一条,树的特点是不相交,所以不可能有多个路径同时到达一个点。

2、下列关于树的叙述正确的是( )

A.树中可以有环

B.树的度是指所有结点中度最小的结点的度

C.树的深度指的是结点数最多的那一层的深度

D.树的根结点是所有结点的祖先结点

答案:D

A: 树中的节点不能相交

B: 树的度为所有节点中度最大的节点的度

C: 树的深度为根节点到叶子节点的最大深度

3、下列关于二叉树的叙述错误的是(   )

A.二叉树指的是深度为 2 的树

B.一个 n 个结点的二叉树将拥有 n-1 条边

C.一颗深度为 h 的满二叉树拥有 2^h-1 个结点(根结点深度为1)

D.二叉树有二叉链和三叉链两种表示方式

答案:A

A错误: 二叉树指最大孩子个数为2,即树的度为二的树。深度描述的为树的层数。

B正确: 对于任意的树都满足:边的条数比节点个数少1,因为每个节点都有双亲,但是根节点没有

C正确: 正确,参加二叉树性质

D正确: 二叉链一般指孩子表示法,三叉连指孩子双亲表示法,这两种方式是二叉树最常见的表示方式,虽然还有孩子兄弟表示法,该中表示方式本质也是二叉链

4、在一颗完全二叉树中,某一个结点没有其左孩子,则该结点一定( )

A.是根结点

B.是叶结点

C.是分支结点

D.在倒数第二层

答案:B

完全二叉树中如果一个节点没有左孩子,则一定没有右孩子,必定为一个叶子节点,最后一层一定为叶子节点,但是倒数第二层也可能存在叶子节点。

5、一棵非空的二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树一定满足 ()

A.所有的结点均无左孩子

B.所有的结点均无右孩子

C.只有一个叶子结点

D.至多只有一个结点

答案:C

  • 前序遍历:根 左 右
  • 后序遍历:左 右 根

从二叉树 前序 和 后序遍历结果规则中可以看出,如果树中每个节点只有一个孩子时,遍历结果肯定是反的

比如下面这前序和中序序列所构成的树的结构:

  • 12345
  • 54321

故每个节点只有一个孩子,即只有一个叶子节点

二、计算题 

1、节点数 

1、在一颗度为3的树中,度为3的结点有2个,度为2的结点有1个,度为1的结点有2个,则叶子结点有( )个

答案为 6 个。 

  • 设度为i的节点个数为ni, 该树总共有n个节点,则n=n0+n1+n2+n3. 
  • 有n个节点的树的总边数为n-1条.
  • 根据度的定义,总边数与度之间的关系为:n-1=0*n0+1*n1+2*n2+3*n3.
  • 联立两个方程求解,可以得到n0 = n2 + 2n3 + 1,  n0=6

2、一颗完全二叉树有1001个结点,其叶子结点的个数是( )

答案:501

  • 在任意二叉树中,度为0的节点都比度为2的节点多1个,即 n0 = n2 + 1
  • 另外,在完全二叉树中,如果节点总个数为奇数,则没有度为1的节点,如果节点总个数为偶数,只有一个度为1的节点
  • 因此:n0 + n1 + n2 = 1001 节点总数为奇数,没有度为1的节点
  • n0 + 0 + n2 = 2*n0-1 = 1001 n0 = 501

3、设一棵二叉树中有3个叶子结点,有8个度为1的结点,则该二叉树中总的结点数为( )个

答案:13

  • 设Ni表示度为i的节点个数,则节点总数 N = N0 + N1 + N2
  • 节点个数于节点边的关系: N个节点的树有N-1个边
  • 边与度的关系:N - 1 = N1 + 2 * N2
  • 故:N0 + N1 + N2 - 1 = N1 + 2 * N2
  • 因此,得:N0 = N2 + 1
  • 回到原题,N0 = 3,N1 = 8,可得N2 = 2。
  • 因此答案是 3 + 8 + 2 = 13。

4、2-3树是一种特殊的树,它满足两个条件:

(1) 每个内部结点有两个或三个子结点

(2) 所有的叶结点到根的距离相同

如果一颗2-3树有10个结点,那么它有( )个叶结点。

 答案:6

根据题目意思,每一个非叶子节点至少有两个孩子节点,并且叶子节点都在同一层,所以,假设树的高度为h, 则二三树种最小的节点个数为满二叉树的个数:2^h - 1, 最大个数: (3^h - 1) / 2。所以 2^h - 1 < 10 < (3^h - 1) / 2, h为3,结构是1(3(2,2,2))。所以叶节点个数为6

5、设某种二叉树有如下特点:每个结点要么是叶子结点,要么有2棵子树。假如一棵这样的二叉树中有m(m>0)个叶子结点,那么该二叉树上的结点总数为( ) 

 答案:2m-1

  • 根据二叉树的性质,在任意的二叉树中,度为0的节点比度为2的节点多1个
  • 现在叶子节点为m个,即度为0的节点有m个,那度为2的节点个数就为m-1个
  • 而题目说该二叉树中只有度为2和度为0的节点 ,
  • 因此总的节点数就为:m+m-1 = 2m-1

6、对任意一颗二叉树,设N0、N1、N2分别是度为0、1、2的结点数,则下列式子中一定正确的是( )

A.N0 = N2 + 1

B.N1 = N0 + 1

C.N2 = N0 + 1

D.N2 = N1 + 1

答案:A

节点总数N: N = N0 + N1 + N2

度和边的关系: N - 1 = 0 * N0 + 1 * N1 + 2 * N2

上面两个式子可以推出: N0 + N1 + N2 - 1 = N1 + 2 * N2

可得: N0 = N2 + 1

 

2、深度 

1、一颗拥有1000个结点的树度为4,则它的最小深度是( ) 

答案:6

如果这棵树每一层都是满的,则它的深度最小,假设它为一个四叉树,高度为h,则这个数的节点个数为(4^h - 1) / 3,当h = 5, 最大节点数为341, 当h = 6, 最大节点数为1365,所以最小深度应该为6。 

 3、遍历序列

1、 已知某二叉树的前序遍历序列为5 7 4 9 6 2 1,中序遍历序列为4 7 5 6 9 1 2,则其后序遍历序列为( )

答案:4 7 6 1 2 9 5

通过前序遍历找到子树的根,在中序遍历中找到根的位置,然后确定根左右子树的区间,即根的左侧为左子树中所有节点,根的右侧为右子树中所有节点。

  • 故:根为: 5
  • 5的左子树:4 7   5的右子树: 6 9  1  2
  • 5的左子树的根为: 7  5的右子树的根为:9
  • 7的左子树: 4 7的右:空  9的左子树:6  9的右子树:2

故这棵树的结构如下,即后序遍历: 4 7 6 1 2 9 5

 2、.已知某二叉树的中序遍历序列为JGDHKBAELIMCF,后序遍历序列为JGKHDBLMIEFCA,则其前序遍历序列为( )

答案:A B D G J H K C E I L M F

由后序遍历确定子树的根,后序遍历从后向前看,最后一个元素为根,和前序遍历刚好相反,从后向前看后序遍历,应该是根,右,左,根据中序遍历确定子树的左右区间

故:根为: A

  • A的左子树:JGDHKB       A的右子树:ELIMCF
  • A的左子树的根:B        A的右子树的根:C
  • B的左子树:JGDHK  B的右子树:空  C的左子树:ELIM C的右子树:F
  • B的左子树的根:D         C的左子树根:E
  • D的左子树的根:G D的右子树的根:H  E的右子树的根:I

故树的结构如下,前序遍历:A B D G J H K C E I L M F

 3、.已知某二叉树的前序遍历序列为ABDEC,中序遍历序列为BDEAC,则该二叉树( )

A.是满二叉树

B.是完全二叉树,不是满二叉树

C.不是完全二叉树

D.是所有的结点都没有右子树的二叉树

答案:C

前序确定根,中序找到根确定根的左右子树,最后还原二叉树为:

前: ABDEC        中:BDEAC

所以既不是满二叉树,也不是完全二叉树

 4、二叉树的后序非递归遍历中,需要的额外空间包括( )

A.一个栈

B.一个队列

C.一个栈和一个记录标记的顺序表

D.一个队列和一个记录标记的顺序表

答案:C

需要一个栈模拟递归的过程, 一个顺序表保存节点。

 5、二叉树的( )遍历相当于广度优先遍历,( )遍历相当于深度优先遍历

 答案:层序 前序

  • 广度优先需要把下一步所有可能的位置全部遍历完,才会进行更深层次的遍历,层序遍历就是一种广度优先遍历。
  • 深度优先是先遍历完一条完整的路径(从根到叶子的完整路径),才会向上层折返,再去遍历下一个路径,前序遍历就是一种深度优先遍历。

 6、如果一颗二叉树的前序遍历的结果是ABCD,则满足条件的不同的二叉树有( )种

答案:14 

首先这棵二叉树的高度一定在3~4层之间:

三层:

  • A(B(C,D),()), A((),B(C,D)), A(B(C,()),D), A(B((),C),D),
  • A(B,C(D,())), A(B,C((),D))

四层:

  • 如果为四层,就是单边树,每一层只有一个节点,除过根节点,其他节点都有两种选择,在上层节点的左边还是右边,所以2*2*2共8种

总共为14种。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/119375.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

uniapp打包嵌入app,输入框被键盘遮挡的问题

问题描述&#xff1a;将uniapp开发的应用打包成wgt包放入app后&#xff0c;发现安卓手机的输入框会被手机输入法的键盘遮挡&#xff0c;导致看不到自己输入了什么内容&#xff1b;而在ios端是正常的&#xff0c;输入框会被键盘顶起&#xff0c;能清楚看到自己输入的内容。 在解…

数据库实验:SQL的数据视图

目录 视图概述视图的概念视图的作用 实验目的实验内容实验要求实验过程 视图概述 视图是由数据库中的一个表或多个表导出的虚拟表&#xff0c;其作用是方便用户对数据的操作 视图的概念 视图是一个虚拟表&#xff0c;其内容由查询定义。同真实的表一样&#xff0c;视图包含一…

升级 MacOS 系统后,playCover 内游戏打不开了如何解决

我们有些小伙伴在升级了 macOS 系统后大概率会遇到之前能够正常使用的 playCover 突然游戏打不开了&#xff0c;最近 mac 刚刚正式推出了 MacOS 14.1 ,导致很多用户打开游戏会闪退&#xff0c;我们其实只需要更新一下 playCover 就可以解决 playCover 正式版更新会比较慢所以我…

北京陪诊小程序|陪诊系统开发|陪诊小程序未来发展不可小觑

近几年随着互联网快速发展&#xff0c;各行业领域都比较注重线上服务系统&#xff0c;通过陪诊小程序开发可以满足更多用户使用需求&#xff0c;同时还能提高用户使用体验。现在陪诊类的软件应用得到全面推广&#xff0c;在医疗行业当中陪诊小程序更贴近用户生活&#xff0c;可…

CN考研真题知识点二轮归纳(4)

持续更新&#xff0c;上期目录&#xff1a; CN考研真题知识点二轮归纳&#xff08;4&#xff09;https://blog.csdn.net/jsl123x/article/details/134135134?spm1001.2014.3001.5501 1.既可以扩展网段又是二层的设备 网段一般指一个计算机网络中使用同一物理层设备&#xff…

el-select多选以tag展示时,超过显示长度以...省略号显示,且在一行展示

效果&#xff1a; 代码&#xff1a; <span>系统词典维度&#xff1a;</span><el-selectv-model"dNum"placeholder"请选择"multiplecollapse-tags //设置collapse-tags属性将它们合并为一段文字size"small"style"width:160p…

LabVIEW示波器连续触发编程

LabVIEW示波器连续触发编程 niScopeEX Fetch Forever范例利用了如何设置硬件和驱动的优点来进行连续采集。 当NI-SCOPE设备被设置为采集预触发扫描&#xff0c;设备上的板载内存被用作一个环形缓冲。这样&#xff0c;无论触发何时到来&#xff0c;设备都可以追踪和检索所有要求…

vs code 和 hbuilder 历史记录查询

一.Hbuilder 找到需要的文件右键 二. vs code

Linux操作系统中软件安装:用RPM包管理器安装软件步骤

安装软件的一般步骤如下&#xff1a; 1.打开终端&#xff0c;作为root用户或使用sudo命令获取管理员权限。 2.使用RPM命令进行软件包的安装。例如&#xff0c;使用“rpm -ivh 软件包名称.rpm”命令来安装软件包&#xff0c;其中“-i”表示安装&#xff0c;“-v”表示显示详细安…

centos7.9 postgresql 16.0 源码安装部署

postgresql 16.0 源码安装部署 环境准备 系统主机名IP地址centos7.9postgres192.168.200.56 软件准备 postgresql-16.0.tar.gz https://ftp.postgresql.org/pub/source/v16.0/postgresql-16.0.tar.gz依赖安装 yum -y install systemd-devel readline readline-devel zlib-devel…

数据可视化:动态柱状图

终于来到最后一个数据可视化的文章拿啦~~~ 在这里学习如何绘制动态柱状图 我先整个活 (๑′ᴗ‵๑)&#xff29; Lᵒᵛᵉᵧₒᵤ❤ 什么是pyecharts&#xff1f; 答&#xff1a; Python的Pyecharts软件包。它是一个用于Python数据可视化和图表绘制的库&#xff0c;可用于制作…

openGauss学习笔记-116 openGauss 数据库管理-设置数据库审计-审计概述

文章目录 openGauss学习笔记-116 openGauss 数据库管理-设置数据库审计-审计概述116.1 背景信息116.2 操作步骤 openGauss学习笔记-116 openGauss 数据库管理-设置数据库审计-审计概述 116.1 背景信息 数据库安全对数据库系统来说至关重要。openGauss将用户对数据库的所有操作…

一个高性能类型安全的.NET枚举实用开源库

从零构建.Net前后端分离项目 枚举应该是我们编程中&#xff0c;必不可少的了&#xff0c;今天推荐一个.NET枚举实用开源库&#xff0c;它提供许多方便的扩展方法&#xff0c;方便开发者使用开发。 01 项目简介 Enums.NET是一个.NET枚举实用程序库&#xff0c;专注于为枚举提…

Python如何解析json对象?

目录 一、JSON简介 二、Python的json模块 1. 加载JSON数据 2. 生成JSON数据 三、处理复杂的JSON数据 四、自定义JSON解析器 五、注意事项和最佳实践 六、总结 JSON&#xff08;JavaScript Object Notation&#xff09;作为一种轻量级的数据交换格式&#xff0c;在网络通…

【入门Flink】- 06Flink作业提交流程【待完善】

Standalone 会话模式作业提交流程 代码生成任务的过程&#xff1a; 逻辑流图&#xff08;StreamGraph&#xff09;→ 作业图&#xff08;JobGraph&#xff09;→ 执行图&#xff08;ExecutionGraph&#xff09;→物理图&#xff08;Physical Graph&#xff09;。 作业图算子链…

solidworks安装时,出现这个错误:无法获得下列许可SOLIDWORKS Standard.无效的(不一致的)使用许可号码。(-8,544,0)

问题描述&#xff1a;在安装SolidWorks2023时&#xff0c;按照软件管家中的步骤&#xff0c;但是在打开SolidWorks2023桌面上的快捷键时&#xff0c;出现了这个错误&#xff1a; 无法获得下列许可SOLIDWORKS Standard.无效的&#xff08;不一致的&#xff09;使用许可号码。(-…

最新Next 14快速上手基础部分

最新Next 14快速上手基础部分 最新的NEXT快速上手文档&#xff0c;2023.10.27 英文官网同步&#xff0c;版本Next14.0.0 本项目案例&#xff1a;GitHub地址&#xff0c;可以根据git回滚代码到对应知识&#xff0c;若有错误&#xff0c;欢迎指正&#xff01; 一、介绍 1.什么是…

克鲁斯卡尔算法

连通图中寻找最小生成树的常用算法有 2 种&#xff0c;分别是普里姆算法和克鲁斯卡尔算法。本节&#xff0c;我们将带您详细了解克鲁斯卡尔算法。 和普里姆算法类似&#xff0c;克鲁斯卡尔算法的实现过程也采用了贪心的策略&#xff1a;对于具有 n 个顶点的图&#xff0c;将图中…

竞赛选题 深度学习手势识别 - yolo python opencv cnn 机器视觉

文章目录 0 前言1 课题背景2 卷积神经网络2.1卷积层2.2 池化层2.3 激活函数2.4 全连接层2.5 使用tensorflow中keras模块实现卷积神经网络 3 YOLOV53.1 网络架构图3.2 输入端3.3 基准网络3.4 Neck网络3.5 Head输出层 4 数据集准备4.1 数据标注简介4.2 数据保存 5 模型训练5.1 修…

【仙逆】尸阴宗秘密揭露,王林差点被夺舍,修仙恐怖消息曝光

Hello,小伙伴们&#xff0c;我是小郑继续为大家深度解析国漫资讯。 深度爆料&#xff0c;《仙逆》国漫第九话最新剧情&#xff0c;尸阴宗表面上令人敬畏&#xff0c;但背后却隐藏着不为人知的秘密。这个宗门暗地里为受伤或死亡的强大修真者提供夺舍容器&#xff0c;帮助他们获…