数据结构题目收录(十九)

news2025/1/14 10:11:53

1、在下图所示的平衡二叉树中插入关键字48后得到一棵新平衡二叉树,在新平衡二叉树中,关键字37所在结点的左、右子结点中保存的关键字分别是()。

请添加图片描述

  • A:13,48
  • B:24,48
  • C:24,53
  • D:24,90
解析

插入48后,该二叉树根结点的平衡因子由-1变为-2,失去平衡,需要进行两次旋转(先右旋后左旋)操作。

答案:C

2、若平衡二叉树的高度为6,且所有非叶子结点的平衡因子均为1,则该平衡二叉树的结点总数为()。

  • A:12
  • B:20
  • C:32
  • D:33
解析

所有非叶结点的平衡因子均为1,即平衡二叉树满足平衡的最少结点情况,如下图所示。对于高度为n、左右子树的高度分别为n-1和n-2、所有非叶结点的平衡因子均为1的平衡二叉树,计算总结点数的公式为 C n C_n Cn= C n − 1 C_{n-1} Cn1+ C n − 2 C_{n-2} Cn2+1, C 1 C_1 C1=1, C 2 C_2 C2=2, C 3 C_3 C3=2+1+1=4,可推出 C 6 C_6 C6=20。

请添加图片描述
画图法:先画出 T 1 T_1 T1 T 2 T_2 T2;然后新建一个根结点,连接 T 2 T_2 T2 T 1 T_1 T1构成 T 3 T_3 T3;新建一个根结点,连接 T 3 T_3 T3 T 2 T_2 T2构成 T 4 T_4 T4…直到画出 T 6 T_6 T6,可知 T 6 T_6 T6的结点数为20。

答案:B

3、若将关键字1,2,3,4,5,6,7依次插入初始为空的平衡二叉树T,则T中平衡因子为0的分支结点的个数是()。

  • A:0
  • B:1
  • C:2
  • D:3
解析

利用7个关键字构建平衡二叉树T,平衡因子为0的分支结点个数为3,构建的平衡二叉树及构造与调整过程如下图所示。

请添加图片描述

答案:D

4、现有一棵无重复关键字的平衡二叉树(AVL),对其进行中序遍历可得到一个降序序列。下列关于该平衡二叉树的叙述中,正确的是()。

  • A:根结点的度一定为2
  • B:树中最小元素一定是叶结点
  • C:最后插入的元素一定是叶结点
  • D:树中最大元素一定是无左子树
解析

只有两个结点的平衡二叉树的根结点的度为1,A错误。

中序遍历后可以得到一个降序序列,树中最小元素一定无左子树(可能有右子树),因此不一定是叶结点,B错误。

最后插入的结点可能会导致平衡调整,而不一定是叶结点,C错误。

答案:D

5、在任意一棵非空平衡二叉树(AVL树) T 1 T_1 T1中,删除某结点v之后形成平衡二叉树 T 2 T_2 T2,再将v插入 T 2 T_2 T2形成平衡二叉树 T 3 T_3 T3。下列关于 T 1 T_1 T1 T 3 T_3 T3的叙述中,正确的是()。

Ⅰ、若v是 T 1 T_1 T1的叶结点,则 T 1 T_1 T1 T 3 T_3 T3可能不相同
Ⅱ、若v不是 T 1 T_1 T1的叶结点,则 T 1 T_1 T1 T 3 T_3 T3一定不相同
Ⅲ、若v不是 T 1 T_1 T1的叶结点,则 T 1 T_1 T1 T 3 T_3 T3一定相同

  • A:仅Ⅰ
  • B:仅Ⅱ
  • C:仅Ⅰ、Ⅱ
  • D:仅Ⅰ、Ⅲ
解析

在非空平衡二叉树中插入结点,在失去平衡调整前,一定插入在叶结点的位置。

若删除的是 T 1 T_1 T1的叶结点,则删除后平衡二叉树可能不会失去平衡,即不会发生调整,再插入此结点得到的二叉平衡树 T 1 T_1 T1 T 3 T_3 T3相同;若删除后平衡二叉树失去平衡而发生调整,再插入结点得到的二叉平衡树 T 3 T_3 T3 T 1 T_1 T1可能不同。Ⅰ正确。

对于比较绝对的说法Ⅱ和Ⅲ,通常只需举出反例即可。

例如,如下图所示,删除结点0,平衡二叉树失衡调整,再插入结点0后,平衡二叉树和以前不同。

请添加图片描述
若删除的是 T 1 T_1 T1的非叶结点,且删除和插入操作均没有导致平衡二叉树的调整,则该结点从非叶结点变成了叶结点, T 1 T_1 T1 T 3 T_3 T3显然不同。例如,如下图所示,删除结点2,用有孩子结点3填补,再插入结点2,平衡二叉树和以前不同。

请添加图片描述

若删除的是 T 1 T_1 T1的非叶结点,且删除和插入操作后导致了平衡二叉树的调整,则该结点有可能通过旋转后继续变成非叶结点, T 1 T_1 T1 T 3 T_3 T3相同。例如,如下图所示,删除结点2,用右孩子结点3填补,再插入结点2,平衡二叉树失衡调整,调整后的平衡二叉树和以前相同。

请添加图片描述

答案:A

6、下图所示是一棵()。

  • A:4阶B树
  • B:4阶B+树
  • C:3阶B树
  • D:3阶B+树
解析

关键字数量比子树数量少1,所以不是B+树,而是B树。又因为m阶B树结点关键字数最多为m-1,有一个结点关键字个数为3,所以不可能为3阶。

答案:A

7、下列关于m阶B树的说法中,错误的是()。

  • A:根结点至多有m棵子树
  • B:所有叶结点都在同一层次上
  • C:非叶结点至少有m/2(m为偶数)或(m+1)/2(m为奇数)棵子树
  • D:根结点中的数据是有序的
解析

除根结点外的所有非终端结点至少有 ┌ \ulcorner m/2 ┐ \urcorner 棵子树。对于根结点,最多有m棵子树,若其不是叶结点,则至少有2棵子树。

答案:C

8、以下关于m阶B树的说法中,正确的是()。

Ⅰ、每个结点至少有两棵非空子树
Ⅱ、树中每个结点至多有m-1个关键字
Ⅲ、所有叶结点在同一层
Ⅳ、插入一个元素引起B树结点分裂后,树长高一层

  • A:Ⅰ、Ⅱ
  • B:Ⅱ、Ⅲ
  • C:Ⅲ、Ⅳ
  • D:Ⅰ、Ⅱ、Ⅳ
解析

每个非根的内部结点必须至少有 ┌ \ulcorner m/2 ┐ \urcorner 棵子树,而根结点至少要有两棵子树,所以Ⅰ不正确。Ⅱ、Ⅲ显然正确。对于Ⅳ,插入一个元素引起B树结点分裂后,只要从根结点到该元素插入位置的路径上至少有一个结点未满,B树就不会长高,如图1所示;只有当结点的分裂传到根结点,并使根结点也分裂时,才会导致树高增1,如图2所示,因此Ⅳ错误。

请添加图片描述

答案:B

9、具有n个关键字的m阶B树,应有()个叶结点。

  • A:n+1
  • B:n-1
  • C:mn
  • D:nm/2
解析

B树的叶结点对应查找失败的情况,对有n个关键字的查找集合进行查找,失败可能性有n+1种。

答案:A

10、高度为5的3阶B树至少有()个结点,至多有()个结点。

  • A:32
  • B:31
  • C:120
  • D:121
解析

由m阶B树的性质可知,根结点至少有2棵子树;根结点外的所有非终端结点至少有 ┌ \ulcorner m/2 ┐ \urcorner 棵子树,结点数最少时,3阶B树形状至少类似于一棵满二叉树,即高度为5的B树至少有 2 5 2^5 25-1=31个结点。

由于每个结点最多有m棵子树,所以当结点数最多时,3阶B树形状类似于满三叉树,结点数为( 3 5 3^5 35-1)/2=121。

答案:B。 D

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

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

相关文章

windows驱动开发环境搭建以及helloworld

文章目录前言编译环境-WDK的安装搭建测试驱动的虚拟机win11虚拟机win10虚拟机在测试机器上运行驱动上面驱动代码含义其他前言 参考:windows驱动开发环境搭建以及helloworld | qwertwwwe 搭建驱动环境–编写hello驱动–安装测试虚拟机–安装驱动 编译环境-WDK的安装…

web前端-第三次作业-按钮

<!DOCTYPE html> <!-- 2022/11/16 --> <html lang"ch"> <head><meta charset"UTF-8"><title>按钮</title><style>*{margin: 0;padding: 0;box-sizing: border-box;}body{display: flex;justify-content: …

AutoDWG DWG 转换 PDF 控制组件-ActiveX

AutoDWG DWG 到 PDF 控制组件&#xff0c;比以往任何时候都更快&#xff01; DWG2PDF-X &#xff0c;一个控制组件允许您直接将 dwg 转换为 pdf&#xff0c;dxf 和 dwf 直接转换为 pdf&#xff0c;不需要 AutoCAD。 主要特征&#xff1a; 支持 R2.5 到 2019 版本的 DWG、DXF 和…

关于Conversational QA 的一些调研

文章目录Paper1: Understanding User Satisfaction with Task-oriented Dialogue SystemsMotivation:Classification:Contributions:DatasetKnowledge:Paper2: Evaluating Mixed-initiative Conversational Search Systems via User SimulationMotivationClassification:Contri…

java计算机毕业设计ssm建设路小学读背兴趣任务管理系统

项目介绍 随着互联网技术的发展,计算机技术广泛应用在人们的生活中,逐渐成为日常工作、生活不可或缺的工具。目前,各种在线学习平台层出不穷。建设路小学读背兴趣任务繁重,如何快速的学习提高小学生的读背兴趣任务,是老师非常关注的问题。为小学读背兴趣任务开发必要的程序,能…

ES6 入门教程 13 Symbol 13.8 内置的 Symbol 值

ES6 入门教程 ECMAScript 6 入门 作者&#xff1a;阮一峰 本文仅用于学习记录&#xff0c;不存在任何商业用途&#xff0c;如侵删 文章目录ES6 入门教程13 Symbol13.8 内置的 Symbol 值13.8.1 Symbol.hasInstance13.8.2 Symbol.isConcatSpreadable13.8.3 Symbol.species13.8.4 …

Gillespie 随机模拟算法附matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

Python最佳实践-构建自己的第三方库

移植自本人博客&#xff1a;Python最佳实践-构建自己的第三方库 Introduction 在写一个项目的时候需要用到发布订阅者模式&#xff08;又叫广播模式&#xff09;&#xff0c;于是就实现了一下&#xff0c;写完之后感觉可以封装成库&#xff0c;于是查阅了一下如何在python上开…

全自动采集软件-自动采集为原创发布工具

随着时代不停地发展。互联网无时不刻地出现在我们的生活中&#xff0c;大家也越来越注重效率&#xff0c;今天小编就给大家来分享一款全自动采集软件。只需要点几下鼠标就能轻松获取数据&#xff0c;不管是导出还是发布到网上。详细参考图片一、二、三、四&#xff01; 企业人员…

CanOpen协议的伺服驱动控制

一、CanOpen的基本介绍&#xff1a;1、基本介绍&#xff1a;CanOpen在CAN网络7层协议中&#xff0c;处于应用层。CANopen协议是在20世纪90年代末&#xff0c;由CIA组织CAN-in-Automation&#xff0c;&#xff08;http://www.can-cia.org &#xff09;在CAL&#xff08;CAN Appl…

信息论编码 | 霍尔曼编码设计MATLAB实现 两种方法 函数调用

姓名 班级 20电信 学号 2020 实验项目 实验三 霍尔曼编码 日期 2022.11 实验环境 联想电脑MATLAB R2018a版 实验内容与完成情况&#xff08;记录实验内容、操作步骤、实验结果等&#xff0c;包括系统输出的错误信息&#xff0c;以截图等方式记录实验结果&#xff09; …

吹爆,这份有思路有案例能落地的SpringCloud开发笔记

前言 SpringCloud想必每一位Java程序员都不会陌生&#xff0c;很多人一度把他称之为“微服务全家桶”&#xff0c;它通过简单的注解&#xff0c;就能快速地架构微服务&#xff0c;这也是SpringCloud的最大优势。但是最近有去面试过的朋友就会发现&#xff0c;现在面试你要是没…

【毕业设计】3-基于单片机的公交车智能播报到站运行位置指示系统(原理图+源码+论文)

【毕业设计】3-基于单片机的公交车智能播报到站运行位置指示系统&#xff08;原理图源码论文&#xff09; 文章目录【毕业设计】3-基于单片机的公交车智能播报到站运行位置指示系统&#xff08;原理图源码论文&#xff09;资料下载链接任务书设计说明书摘要设计框架架构设计说明…

一个基于NetCore模块化、多租户CMS系统

今天给大家推荐一个基于.NetCore开发的、支持多租户的开源CMS系统。 项目简介 这是一个基于ASP.NET Core 构建的、模块化和多租户应用程序框架&#xff0c;采用文档数据库&#xff0c;非常高性能&#xff0c;跨平台的系统。 该项目可用于企业网站、个人博客、产品介绍网站等…

【计算机毕业设计】基于netty的网关推送平台

前言 &#x1f4c5;大四是整个大学期间最忙碌的时光,一边要忙着准备考研,考公,考教资或者实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过…

字符流用户注册案例、字符缓冲流、字符缓冲流特有功能、字符缓冲流操作文件中的数据排序案例

文章目录字符流用户注册案例字符缓冲流字符缓冲流特有功能字符缓冲流操作文件中的数据排序案例IO流小结字符流用户注册案例 案例需求&#xff1a; 将键盘录入的用户名和密码保存到本地实现永久化存储实现步骤 获取用户输入的用户名和密码&#xff08;这里使用 scanner 键盘录…

NLP的数据增强技术总结

文章目录一、简单的数据增强技术 EDA (Easy Data Augmentation) 即Normal Augmentation Method1、同义词替换(Synonym Replacement, SR)&#xff1a;2、随机插入(Random Insertion, RI)&#xff1a;3、随机交换(Random Swap, RS)&#xff1a;4、随机删除(Random Deletion, RD)&…

JS中判断数据类型的几种方法

目录 1.typeof 2.constructor 3.instanceof 4.Object.prototype.toString.call 1.typeof &#x1f4d9; 语法 : typeof(需要判断的数据变量) &#x1f4d9; 特点: &#x1f340; 对于基本数据类型,除了null外都可以返回正确的结果;对于null,返回的是Object &#x1f34…

FL Studio21中文版本新增功能FL2023完整版

FL Studio水果简称FL&#xff0c;全称&#xff1a;Fruity Loops Studio&#xff0c;国人习惯叫它水果萝卜。FL软件现有版本是 FL Studio 21&#xff0c;已全面升级支持简体中文语言界面 。 FL Studio 21水果工具更新、新功能和插件FL Studio 21已经发布&#xff0c;并且有许多…

[附源码]java毕业设计日常饮食健康推荐系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…