【数据结构与算法】树和二叉树练习题(选择填空)

news2024/10/7 17:32:25

【数据结构与算法】树和二叉树练习题:选择填空类型

  • Ⅰ.知前序和中序推理后序
  • Ⅱ.知后序和中序推理前序
  • Ⅲ.深度/广度遍历
  • Ⅳ.通过遍历推理树的形状
  • Ⅴ.树节点问题

Ⅰ.知前序和中序推理后序

题目名称:
1.已知某二叉树的前序遍历序列为5 7 4 9 6 2 1,中序遍历序列为4 7 5 6 9 1 2,则其后序遍历序列为( C)

题目内容:
A .4 2 5 7 6 9 1
B .4 2 7 5 6 9 1
C .4 7 6 1 2 9 5
D .4 7 2 9 5 6 1

这类题其实很简单,就是根据前序/后序的排列,和中序的特性来推理。
中序的特性就是先遍历左子树,再遍历根,最后遍历右子树。也就是说根的左边和右边分别是左子树和右子树。
前序遍历的特性是先遍历根,再遍历左右子树,所以第一个就是根。也就是5是根,那么对应中序中的5左右分别是左子树和右子树(5的左边是4 7 ,5的右边是6 9 1 2)。
在这里插入图片描述
而左右子树分别又是一颗树。我们就可以将前序和中序中的5给划掉,那么前序中第一个就变成7了,7就是对应的左子树了。而7再对应中序中左边是4右边没有,说明根7的左子树是4没有右子树。然后就可以将7和4给划去了。再看前序中的9就是5的右子树了。而9对应的中序中左边是6,右边是1 2,所以9的左子树是6右子树是1和2中的一个。然后将6 9 划去,前序中剩下的就是2了,那么2就是9的右子树。2对应的中序中左边是1,所以2的左子树是1,右边没有,所以没有右子树。
在这里插入图片描述

题目名称:
2.已知二叉树的前序序列为BCDEFAG,中序序列为DCFAEGB,请问后序序列为__C_
A. DAFEGCB
B. DAEGFCB
C. DAFGECB
D. DAEFGCB

根据前序遍历和中序遍历来推理后序遍历。跟第一题是一样的。
前序第一个就是根,然后再对应中序找到根的左右子树。
B是根,中序中B在最后面,说明根只有左子树,没有右子树。然后将B划去。
接下来就是C,也就是C是B的左子树。再对应于中序中C的左边是D右边是FAEGB。
说明C的左子树是D右子树不确定。可以将C和D给划去。
前序第一个就是E,所以E是C的右子树。对应于中序E的左边是FA右边是G。左子树和右子树不确定。接着看。
划去E后,前序第一个就是F说明E的左子树是F。对应中序F的右边是A左边没有说明F的右子树是A。没有左子树。划去FA,前序就剩G了,说明G是E的右子树。
在这里插入图片描述

题目名称:
3.已知某二叉树的前序遍历序列为ABDEC,中序遍历序列为BDEAC,则该二叉树(C )

题目内容:
A .是满二叉树
B .是完全二叉树,不是满二叉树
C .不是完全二叉树
D .是所有的结点都没有右子树的二叉树

与第一题和第二题本质一样,就是根据前序遍历和中序遍历来画出二叉树。
前序第一个是A,所以根是A。中序中A的左边是BDE右边是C。所以A的右子树是C,左子树不确定。
划去A和C后,前序中第一个是B,所以B是A的左子树。再看中序中B的左边没有右边是DE所以B没有左子树,右子树不确定,划去B,前序中就剩E,所以B的右子树是E。
在这里插入图片描述

Ⅱ.知后序和中序推理前序

第 1题(单选题)
题目名称:
已知某二叉树的中序遍历序列为JGDHKBAELIMCF,后序遍历序列为JGKHDBLMIEFCA,则其前序遍历序列为(B )

题目内容:
A .ABDGHJKCEFILM
B .ABDGJHKCEILMF
C .ABDHKGJCEILMF
D .ABDGJHKCEIMLF

这里和知道前序和中序来推理后序是本质一样的。只不过前序遍历先遍历根节点。后序遍历最后才遍历根节点。
也就是后序遍历最后一个才是根,前面的是右节点,再前面的是左节点。
所以跟上面类似,先找到根节点,然后到中序中找根节点的左右节点。
后序中最后一个是A,所以根是A,对应中序中来看,A的左边是左子树,右边是右子树。
划去A,那么后序中最后一个就是C了,C就是A的右子树(因为C在A的右边),对应中序C的右边是右子树,左边是左子树。所以F是C的右子树。划去C,F。后序最后一个是E,所以E就是C的左子树。对应中序E的左边是左子树,右边没有,所以没有右子树。划去E,后序最后一个是I,I就是E的左子树,对应中序E的左边…………就按照这样的方法来一一对应即可。
在这里插入图片描述

Ⅲ.深度/广度遍历

题目名称:
1.二叉树的( 层序)遍历相当于广度优先遍历,(前序 )遍历相当于深度优先遍历

题目内容:
A .前序 中序
B .中序 前序
C .层序 后序
D .层序 前序

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

Ⅳ.通过遍历推理树的形状

题目名称:
1.如果一颗二叉树的前序遍历的结果是ABCD,则满足条件的不同的二叉树有(B )种

题目内容:
A .13
B .14
C .15
D .16

这颗二叉树要么是三层要么是四层,在3~4层之间。
但能确定的是A是根结点。所以我们来分类讨论一下,当这个二叉树是三层时。
左子树存在:A(B,C(D,)) A(B,C(,D)) A(B(C,),D) A(B(,C),D) A(B(C,D))
左子树不存在:A(,B(C,D)) A) A(,B(C(D)))
当这个二叉树是四层时
那么这个二叉树肯定是单边树。除第一个A能确定外,其余三个每个结点都有两种选择(左或右),所以有222=8种,加起来就是14种。

题目名称:
2.一棵非空的二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树一定满足(C )

题目内容:
A .所有的结点均无左孩子
B .所有的结点均无右孩子
C .只有一个叶子结点
D .至多只有一个结点

前序遍历的规律是 根 左 右
后序遍历的规律是 左 右 根
所以如果树只有一个孩子时,那么遍历的结果肯定是相反的。
因为要么是孩子要么是根结点。不用管在左边,还是在右边。

Ⅴ.树节点问题

题目名称:
1.某二叉树共有 399 个结点,其中有 199 个度为 2 的结点,则该二叉树中的叶子结点数为(B)
A. 不存在这样的二叉树
B. 200
C. 198
D. 199

要知道一个规则:度为0的节点总是比度为2的节点要多一个。因为没生成一个度为2的节点就要消耗两个度为0的节点。所以有公式:N0=N2+1;
那有199个度为2的结点,NO就为N2+1,也就是200个。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ChatGPT实战:项目管理

人工智能有可能彻底改变许多行业,包括项目管理,及时了解最新技术以及它如何影响你的工作至关重要,因为学习好项目管理,不管你能不能做项目经理,在生活、工作的方面方面都会享受到懂得项目管理后带来的收益。 下面我们借…

np.averag的运算规则

今天写代码的时候,计算加权平均,一直没有搞懂np.average是怎么运算的,做个笔记记录一下: 创建一个(3,4,5)维度的np数组,然后在创建一个[1,0.5,1]的权重数组,计算他们的加权平均&…

Spring Boot Actuator实现应用监控

1、Spring Boot Actuator实现应用监控 前面的例子中,我们学习的都是 Prometheus 自身的内容,即监控的都是机器或者系统层面的指标。那么如果我 们需要对 Java 应用做监控,例如:监控 JVM 的信息,监控 Spring Bean 的信…

如何实现多 Tab 同步登陆和退出

一. 场景再现 前两天接到一个需求,要求实现类似于 B站 的那种,当我同时打开多个 Tab 标签的时候,如果我在某一个窗口退出了,那么其它窗口的登陆状态也需要同步退出。如下图,我同时打开了两个 tab 。 当我点击其中一个…

【Java】SpringBoot项目中resource目录下有多个配置文件,如何指定某个特定的配置文件生效?

在我们开发项目的时候,会有多个开发环境,比如测试环境,生产环境,开发环境,产品环境等环境,如下 怎么多的配置文件,那么哪一个配置文件会生效?我们如何指定我们需要的配置文件&…

调用office的Excel制作统计图,并保存成图片

public class CMSChart{private Chart chart;public CMSChart(Chart chart){this.chart chart;}/// <summary>/// 保存图片/// </summary>/// <param name"fullPicName"></param>public void SaveAs(string fullPicName){ChartImageFormat …

VMware 虚拟机安装 CentOS 8

一、准备 演示过程使用的软件版本如下&#xff1a; VMware 16.2.5 build-20904516 CentOS 8.5.2111-x86_64-dvd1.iso VMware 下载安装请参考&#xff1a;VMware16.x 下载与安装 CentOS 镜像下载请参考&#xff1a;CentOS 各版本镜像下载 VMware 15 及以下版本&#xff0c;不支…

nginx部署本地项目如何让异地公网访问?服务器端口映射配置!

接触过IIS或apache的小伙伴们&#xff0c;对nginx是比较容易理解的&#xff0c;nginx有点类似&#xff0c;又有所差异&#xff0c;在选择使用时根据自己本地应用场景来部署使用即可。通过一些对比可能会更加清楚了解&#xff1a; 1.nginx是轻量级&#xff0c;比apache占用更少…

C# 多数元素

169 多数元素 给定一个大小为 n 的数组 nums &#xff0c;返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的&#xff0c;并且给定的数组总是存在多数元素。 示例 1&#xff1a; 输入&#xff1a;nums [3,2,3] 输出&…

FPGA USB FX2 数据回环试验 驱动CY7C68013A实现 提供工程源码和技术支持

目录 1、前言2、我这儿已有的 FPGA USB 通信方案3、CY7C68013A芯片解读和硬件设计FX2 简介SlaveFIFO模式及其配置 4、工程详细设计方案5、vivado工程6、上板调试验证7、福利&#xff1a;工程代码的获取 1、前言 目前USB2.0的实现方案很多&#xff0c;但就简单好用的角度而言&a…

kkfileview部署使用

1.gitee下载源码 kkFileView: 使用spring boot打造文件文档在线预览项目解决方案&#xff0c;支持doc、docx、ppt、pptx、wps、xls、xlsx、zip、rar、ofd、xmind、bpmn 、eml 、epub、3ds、dwg、psd 、mp4、mp3以及众多类文本类型文件在线预览 2.去掉cad 3.替换水印字体为免费…

php宝塔搭建好用的二次元图系统php源码

大家好啊&#xff0c;我是测评君&#xff0c;欢迎来到web测评。本期给大家带来一套好用的二次元图系统php源码。抽时间看了一下&#xff0c;功能还是不错的&#xff0c;有参考价值。感兴趣的朋友可以自行下载学习。 技术架构 PHP7.0 nginx mysql5.7 JS CSS HTMLcnetos7以…

德国汽车行业杂志HANSERautomotive就浪潮信息算法团队在自动驾驶领域所取得的核心突破,进行专题署名报道

近日&#xff0c;德国专业汽车行业杂志HANSERautomotive就浪潮信息算法团队在自动驾驶领域所取得的核心突破&#xff0c;进行专题署名文章报道“Wahrnehmungssysteme und 3D-Objekterkennung Alles im Blick ”(《感知系统和三维物体识别&#xff0c;一切尽收眼底》)。针对AI感…

python ---- 根据文件名称中的数字排序

1. 需求分析 获取文件夹中的所有文件名称&#xff1b;筛选所有文件名称中的图片文件&#xff1b;获取图片文件名称中的数字&#xff1b;对数字排序&#xff1b;返回排序后的图片文件名称列表。 2. 获取所有图片文件名称 2.1 代码实现分析 使用 os.listdir 获取文件夹下的所…

keil_arm满减栈应用场景

.text .global _start _start:满减压栈使用场景ldr sp,0x40000800mov r0,#0x1mov r1,#0x2bl add1_funcadd r0,r0,r1 r0 r0 r1 0x3b stopadd1_func: 压栈保存现场 r0 0x1 r1 0x2stmfd sp!,{r0,r1&#xff0c;lr}mov r0,#0x3mov r1,#0x4bl add2_funcadd r0,r0,r1 r0 r…

如何在Windows中批量创建多个文件夹

你需要更好地组织你的文件和文档吗&#xff1f;如果你在笔记本电脑或台式机上将相关文件分组到不同的文件夹中&#xff0c;那么总是很容易找到你需要的东西。你还可以更改图标的大小&#xff0c;使其在视觉上更美观。 在 Windows 中创建一个文件夹的传统做法是&#xff1a;右键…

【GlobalMapper精品教程】060:用dem提取一条线的高程值

本实验使用的数据有线路数据(line.shp)和数字地形数据(dem.tif),提取线数据的高程值。 文章目录 一、加载实验数据二、生成路径剖面三、导出线路高程四、注意事项【参考阅读】:【ArcGIS微课1000例】0004:值提取至点(Extract value to point) 一、加载实验数据 本实验…

NLP学习笔记(三)

一&#xff1a;分类方法 &#xff08;一&#xff09;逻辑回归 最简单的方法就是将分类问题视为回归问题&#xff0c;采用逻辑回归计算分类的边界。 &#xff08;二&#xff09;softmax回归 softmax的前向传播过程可以分为以下三步&#xff1a; h W T x y ^ s o f t m a …

springboot基于keytool实现https的双向认证

一、环境准备 服务器信息如下&#xff1a; 操作系统说明server-one服务器1server-two服务器2 二、keytool命令解释 -genkey 表示要创建一个新的密钥。 -alias 表示 keystore 的别名。 -keyalg 表示使用的加密算法是 RSA &#xff0c;一种非对称加密算法。 -keysize 表示密…

ubuntu 基础软件

文章目录 一.通过.deb 安装的软件1.谷歌浏览器2.utools3.wps4.VScode5.typora6.搜狗输入法的安装 二.通过命令行安装的软件1.截图工具2.超级终端3.安装 git4.安装net-tools5.安装tree 三.ubuntu的基础设置1.更改软件安装源头2.修改计算机名称 一.通过.deb 安装的软件 下面 .deb…