【数据结构练习】树和二叉树的选择题精选集锦

前言

编程想要学的好,刷题少不了,我们不仅要多刷题,还要刷好题!为此我开启了一个弯道超车必做好题锦集的系列,此为树和二叉树的选择题精选集锦。该系列会不定期更新,敬请期待!


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

A.ABDGHJKCEFILM

B.ABDGJHKCEILMF

C.ABDHKGJCEILMF

D.ABDGJHKCEIMLF

答案:B

解析:

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

故:根为: 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

故树的结构为:


2.设根结点的深度为1,则一个拥有n个结点的二叉树的深度一定在(   )区间内

A.[log(n + 1),n]

B.[logn,n]

C.[log(n + 1),n - 1]

D.[log(n + 1),n + 1]

答案:A

解析:

最大深度: 即每次只有一个节点,次数二叉树的高度为n,为最高的高度

最小深度: 此树为完全二叉树, 如果是完全二叉树

根据二叉树性质,完全二叉树的高低为 h = log(n+1)向上取整

故选择A


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

A.前序 中序

B.中序 前序

C.层序 后序

D.层序 前序

答案:D

解析:

广度优先需要把下一步所有可能的位置全部遍历完,才会进行更深层次的遍历,层序遍历就是一种广度优先遍历。

深度优先是先遍历完一条完整的路径(从根到叶子的完整路径),才会向上层折返,再去遍历下一个路径,前序遍历就是一种深度优先遍历。


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

A.13

B.14

C.15

D.16

答案:B

解析:

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

三层:

四层:

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

总共为14种。


 4.n个节点的完全二叉树,最多可以有多少层?

A.n/2

B.log(n)+1(向下取整)

C.n-1

D.n

解析:

根据二叉树性质4:对于完全二叉树,节点个数为n时高度h为

h = log(n+1)向上取整 或者 即3.x 取4

h = log(n)+1向下取整 即3.x 取 3

故应该选择B


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

A.11

B.12​

C.13

D.14

答案:C

解析:

设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。


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

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

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

C.只有一个叶子结点

D.至多只有一个结点

答案:C

解析:

前序遍历:根 左 右

后序遍历:左 右 根

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

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

12345

54321

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


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

A.4                         B.5                           C.6                          D.7

答案:C

解析:

设度为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


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

A.5                            B.6                        C.7                        D.8

答案:B

解析:

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

 


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

A.251                      B.500                         C.501                       D.不能确定

答案:C

解析:

该题需要用到二叉树性质:在任意二叉树中,度为0的节点都比度为2的节点多1个,即 n0 = n2 + 1

另外,在完全二叉树中,如果节点总个数为奇数,则没有度为1的节点,如果节点总个数为偶数,只有一个度为1的节点

因此:n0 + n1 + n2 = 1001 节点总数为奇数,没有度为1的节点

n0 + 0 + n2 = 2*n0-1 = 1001 n0 = 501


以上为我个人的小分享,如有问题,欢迎讨论!!! 

都看到这了,不如关注一下,给个免费的赞 

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

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

相关文章

排序整理2

一、一些概念 排序方法是“稳定的”:假设两个元素相等,若在排序后的序列中,排序前就在前面的元素仍在前面,则称所用的排序方法是稳定的;反之,若排序后两个相等元素调换相对位置,则称所用的排序…

cola架构:cola源码中访问者模式应用浅析

目录 1.访问者模式简介 2.cola访问者模式应用 2.1 cola被访问者类图 2.2 cola访问者类图 我们知道,如果一个对象结构包含很多类型的对象,希望对这些对象实施一些依赖其具体类型的操作,但又避免让这些操作“污染”这些对象的类&#xff0c…

如何使用爬虫做一个网站

​ 大家如果有兴趣做网站,在买了VPS,部署了wordpress,配置LNMP环境,折腾一番却发现内容提供是一个大问题,往往会在建站的大(da)道(keng)上泄气 ,别怕&#xf…

java毕业设计基于springboot的民宿预订信息网站

运行环境 开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven 项目介绍 民宿短租…

iPhone强制重启教程来了!(已解决)

强制重启是解决苹果手机系统故障问题的首选操作,是通过特殊组合按键来强制关机并重新启动设备的操作。可以用来应对系统崩溃、设备无响应、白苹果、死机、闪退、莫名其妙黑屏等情况。 那么大家知道该如何将iPhone手机强制重启吗?iphone强制重启的方法是…

电脑上怎么录制视频教程带画笔工具?

无论你是创建教程、还是演示文稿,可能都希望使用带有画笔工具的录屏软件来帮助你创建吸引观众注意力的重要内容。幸运的是,有一些很棒的录屏软件可供你选择,本文就为你推荐一款带有画笔工具的最佳录屏软件,继续阅读查看吧&#xf…

日本IT Week秋季展丨美格智能以技术创新共建美好数字生活

10月25日至27日,日本国际IT消费电子展览会(Japan IT Week 2023秋季展)在日本千叶幕张国际展览中心举行。日本IT周是日本IT市场的标杆,涵盖软件开发、大数据管理、嵌入式系统、数据存储、信息安全、数据中心、云计算、物联网&#…

Wappalyzer——非常好用的前端工具

Edge浏览器https://microsoftedge.microsoft.com/addons/detail/wappalyzer-technology-p/mnbndgmknlpdjdnjfmfcdjoegcckoikn谷歌浏览器https://chrome.google.com/webstore/detail/wappalyzer-technology-pro/gppongmhjkpfnbhagpmjfkannfbllamg火狐浏览器https://addons.mozil…

【Django restframework】django跨域问题,解决PUT/PATCH/DELETE用ajax请求无法提交数据的问题

【Django restframework】django跨域问题,解决PUT/PATCH/DELETE用ajax请求无法提交数据的问题 1 问题描述: 我用restframework(ModelSerializerGenericApiView)开发了一组符合RestFul接口标准的接口,这意味着它将支持客户端发来的GET、POST、…

Redis实现方式开启新篇章,解决分布式环境下的资源竞争问题,提升系统稳定性

前言 分布式锁一般有三种实现方式: 数据库乐观锁;基于Redis的分布式锁;基于ZooKeeper的分布式锁 本篇博客将介绍第二种方式,基于Redis实现分布式锁。 虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实…

飞桨大模型套件:一站式体验,性能极致,生态兼容

在Wave Summit 2023深度学习开发者大会上,来自百度的资深研发工程师贺思俊和王冠中带来的分享主题是:飞桨大模型套件,一站式体验,性能极致,生态兼容。 大语言模型套件PaddleNLP 众所周知PaddleNLP并不是一个全新的模型…

微服务-Ribbon负载均衡

文章目录 负载均衡原理流程原理源码分析负载均衡流程 负载均衡策略饥饿加载总结 负载均衡原理 流程 原理 LoadBalanced 标记RestTemplate发起的http请求要被Ribbon进行拦截和处理 源码分析 ctrlshiftN搜索LoadBalancerInterceptor,进入。发现实现了ClientHttpRequ…

电脑扬声器未插入?4个方法帮你恢复声音!

“太奇怪了吧,我的电脑扬声器一直显示未插入,我使用电脑的时候也是一直都没有声音。这是为什么呢?我应该怎么解决这个问题呀?” 我们使用电脑播放音频或视频时,都需要用到电脑扬声器。如果扬声器无法播放声音&#xff…

导入Embassy库进行爬虫

Embassy是一个基于Lua的轻量级爬虫框架,可以方便地进行网页抓取和数据提取。它提供了简单易用的接口和丰富的功能,可以帮助开发者快速构建爬虫应用。 要使用Embassy进行爬虫,首先需要安装Embassy库。可以通过Lua的包管理工具luarocks来安装E…

LabVIEW应用开发——控件的使用(四)

接上文,这篇介绍时间控件。 LabVIEW应用开发——控件的使用(三) 1、时间控件Time Stamp control 在日常软件开发场景中,时间也是一种常用的控件,用于表达当前时间的显示、对下设置时间、时间同步等等场景。LabVIEW专门…

『C语言进阶』文件操作

🔥博客主页: 小羊失眠啦. 🔖系列专栏: C语言、Linux、Cpolar ❤️感谢大家点赞👍收藏⭐评论✍️ 文章目录 前言一、什么是文件1.1 程序文件1.2 数据文件1.3 文件名 二、文件的打开和关闭2.1 文件指针2.2 文件的打开和关…

[计算机提升] Windows文件系统类型介绍

1.13 文件系统 在Windows系统中,文件系统是一种用于组织和管理计算机上存储的文件和目录的方法。它提供了一种结构化的方式来访问、存储和检索数据。 以下是Windows系统中常见的文件系统: FAT(FAT16、FAT32):FAT&…

超简洁ubuntu linux 安装 cp2k

文章目录 打开下载网址解压接下来的步骤讲解 将解压的包移到对应路径下最后运行 打开下载网址 需要从github下载:下载网址 两个都可以从windows下先下载,再复制到linux中, 如果不能复制,右键这两个,复制链接&#xf…

【开源】基于SpringBoot的农村物流配送系统的设计和实现

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统登录、注册界面2.2 系统功能2.2.1 快递信息管理:2.2.2 位置信息管理:2.2.3 配送人员分配:2.2.4 路线规划:2.2.5 个人中心:2.2.6 退换快递处理:…

Redis快速上手篇(四)(Spring Cache,缓存配置)(注解方式)

Spring Cache 从3.1开始,Spring引入了对Cache的支持。其使用方法和原理都类似于Spring对事务管理的支持。Spring Cache是作用在方法上的 使用Spring Cache的时候我们要保证我们缓存的方法对于相同的方法参数要有相同的返回结果。 使用Spring Cache需要我们做两方面…