B树和B+树试题解析

一、单项选择题

01.下图所示是一棵(A ).

A.4阶B树                B.3阶B树                C.4阶B+树               D.无法确定

02.下列关于m阶B树的说法中,错误的是( C ).
A.根结点至多有m棵子树
B.所有叶结点都在同一层次上
C.非叶结点至少有m/2 (m为偶数)或(m +1)/2 (m为奇数)棵子树
D.根结点中的数据是有序的
解析:除根结点外的所有非叶结点至少有[m/2]棵子树,对于根结点,最多有m棵子树,若其不说叶结点,则至少有2棵子树

03.以下关于m阶B树的说法中,正确的是(B).
Ⅰ.每个结点至少有两棵非空子树
Ⅱ.树中每个结点至多有m-1个关键字
Ⅲ.所有叶结点在同一层
IV.插入一个元素引起B树结点分裂后,树长高一层
A.Ⅰ、Ⅱ                 B.Ⅱ、Ⅲ               C.Ⅲ、IV                D.Ⅰ、Ⅱ、IV
解析:每个非根的内部结点必须至少有[m/2]棵子树,而根结点至少要有两棵子树,所以选项Ⅰ不正确。选项ⅡⅢ显然正确,对于Ⅳ,插入一个元素引起B树结点分裂后,只要从根结点到该元素插入位置的路径上至少有一个结点未满,B树就不会长高;只有当结点的分裂传到根结点,并使根结点也分裂时,才会导致树高增1,因此选项IⅣ错误。

04.在一棵m阶B树中做插入操作前,若一个结点中的关键字个数等于(),则插入操作后必须分裂成两个结点;在一棵m阶B树中做删除操作前,若一个结点中的关键字个数等于( ),则删除操作后可能需要同它的左兄弟或右兄弟结点合并成一个结点。 B

解析:由于B树每个结点内的关键字个数最多为m-1,所以当关键字个数大于m-1时,则应该分裂,每个结点内的关键字个数至少为[m/2]-1个,所以关键字个数少于[m/2]-1时,则可能与其他结点合并(除非只有根结点)

05.具有n个关键字的m阶B树,应有(A)个叶结点。
A. n+1
B. n-1
C. mn
D. nm/2
解析:B树的叶结点对应查找失败的情况,对有n个关键字的查找集合进行查找 失败可能性有n+1种

06.高度为5的3阶B树至少有(B)个结点,至多有(D)个结点。
A.32
B.31
C.120
D.121

07.含有n个非叶结点的m阶B树中至少包含(D)个关键字。

解析:1个根结点至少有一个关键字,其余的n-1个结点至少有「m/2]-1个关键字。(n-1)([m/2]-1)+1

08.已知一棵5阶B树中共有53个关键字,则树的最大高度为(C),最小高度为(B)。
A.2
B.3
C.4
D.5
解析:树中每个结点至多有m=5棵子树,至多有m-1=4个关键字,除根结点以外的非叶子结点至少有[m/2]=3棵子树,至少有[m/2]-1=2个关键字。求最大高度,则分支尽量少,每个结点内的关键字尽量少,根1关键字2分支,其他非叶2关键字3子树,高度为4的关键字数为1+2*(2+2*3+3*6)=53。求最小高度,则分支尽量多,每个结点内的关键字尽量多,所有结点4关键字5分支,一层4个关键字,2层5分支每个分支4个关键字,共24个,不够存,所以至少要三层才能存满53个关键字

09.已知一棵3阶B树中有2047个关键字,则此B树的最大高度为( A ),最小高度为(D)
A.11
B.10
C. 8
D.7
解析:树中每个结点至多有m=3棵子树,至多含有m-1=2个关键字,除根结点以外的非叶子结点至少有[m/2]=2棵子树,至少有[m/2]-1=1个关键字。最大高度:分支尽量少,每个结点内关键字尽量少,根1关键字2分支,其余非叶1关键字2分支。2^11-1=2047。最小高度:分支尽量多,每个结点内关键字尽量多,所有结点2关键字3分支

10.下列关于B树和B+树的叙述中,不正确的是( A ).
A.B树和B+树都能有效地支持顺序查找
B.B树和B+树都能有效地支持随机查找
C.B树和B+树都是平衡的多叉树
D.B树和B+树都可以用于文件索引结构
解析:B树仅支持随机查找,不支持顺序查找

11.在7阶B树中搜索第2016个关键字,若根结点已读入内存,则最多需启动( A  )次I/O.
A.4
B.5
C.6
D.7
12.【2009统考真题】下列叙述中,不符合m阶B树定义要求的是( D )。
A.根结点至多有m棵子树
B.所有叶结点都在同一层上
C.各结点内关键字均升序或降序排列
D.叶结点之间通过指针链接
解析:m阶B树不要求将各叶结点之间用指针链接,选项D描述的实际上是B+树。

13.【2012统考真题】已知一棵3阶B树,如下图所示。删除关键字78得到一棵新B树,
其最右叶结点中的关键字是( D )。

A. 60
B.60,62
C.62,65
D.65

14.【2013统考真题】在一棵高度为2的5阶B树中,所含关键字的个数至少是( A ).
A.5
B.7
C.8
D.14
解析:对于5阶B树,根结点的分支数最少为2(关键字数最少为1),其他非叶结点的分支数最少为[n/2]向上=3(关键字数最少为2),因此关键字个数最少的情况如下图所示(叶结点不计入高度)

15.【2014统考真题】在一棵有15个关键字的4阶B树中,含关键字的结点个数最多是(D)
A.5
B.6
C.10
D.15
解析:关键字数量不变,要求结点数量最多,即要求每个结点中含关键字的数量最少。根据4阶B树的定义,根结点最少含1个关键字,非根结点中最少含[4/2]-1=1个关键字,所以每个结点中关键字数量最少都为1个,即每个结点都有2个分支,类似于排序二叉树,而15个结点正好可以构造一个4层的4阶B树,使得终端结点全在第四层,符合B树的定义,因此选D。

16. 【2016统考真题】B+树不同于B树的特点之一是(A)。
A.能支持顺序查找
B.结点中含有关键字
C.根结点至少有两个分支
D.所有叶结点都在同一层上
解析:由于B+树的所有叶结点中包含了全部的关键字信息,且叶结点本身依关键字从小到大顺序链接,因此可以进行顺序查找,而B树不支持顺序查找(只支持多路查找)。

17.【2017统考真题】下列应用中,适合使用B+树的是( B ).
A.编译器中的词法分析
B.关系数据库系统中的索引
C.网络中的路由表快速查找
D.操作系统的磁盘空闲块管理

18.【2018统考真题】高度为5的3阶B树含有的关键字个数至少是(B).
A.15
B.31
C.62
D.242
解析:m阶B树的基本性质:根结点以外的非叶结点最少含有[m/2]-1=1个关键字,而根结点中含有1个关键字,因此所有非叶结点都有两个孩子,此时树形与h=5的满二叉树相同,可求得关键字最少为31个。

19.【2020统考真题】依次将关键字5,6,9,13,8,2,12,15插入初始为空的4阶B树后,根结点中包含的关键字是( B ).
A. 8
B.6,9
C.8,13
D.9,12

20.【2021统考真题】在一棵高度为3的3阶B树中,根为第1层,若第2层中有4个关键字,则该树的结点数最多是( A ).
A.11
B.10
C.9
D.8
解析:3阶B树,每个结点至多含有3-1=2个关键字(至少1个),至多有3棵子树,题目规定第二层有4个关键字,要使B树的结点数达到最多,则这4个关键字包含在3个结点中,B树树形如下图所示,A,B,C...M表示关键字,最多有11个结点。

21.【2022统考真题】在下图所示的5阶B树T中,删除关键字260之后需要进行必要的调整,得到新的B树T1。下列选项中,不可能是T1根结点中关键字序列的是(D)。

A.60,90,280
B.60,90,350
C.60,85,110,350
D.60,90,110,350

22.【2023统考真题】下列关于非空B树的叙述中,正确的是(B).
Ⅰ插入操作可能增加树的高度
Ⅱ.删除操作一定会导致叶结点的变化
Ⅲ.查找某关键字总是要查找到叶结点
Ⅳ.插入的新关键字最终位于叶结点中
A.仅Ⅰ                        B.仅Ⅰ、Ⅱ                        C.仅Ⅲ、Ⅳ                D、仅I、II、IV
解析:B树的插入操作可能导致叶结点分裂,而叶结点分裂可能导致父结点分裂,若这个分裂过程传导到根结点,则会导致B树高度增1,Ⅰ正确。若被删结点是叶结点,则显然会导致叶结点变化;若被删结点不是叶结点,则要先将被删结点和它的前驱或后继交换,最终转换为删除叶结点,还是导致叶结点变化,Ⅱ正确。若在非叶结点中查找到了给定的关键字,则不用向下继续查找,Ⅲ错误。插入关键字的初始位置是最底层叶结点,但可能因结点分裂而被转移到父结点中,IV错误。

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

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

相关文章

JAVAEE——IP协议

文章目录 IP协议IP协议报头格式IP协议报头的各个区段四位版本四位首部长度八位服务类型16位总长度16位标识,3位标志,13位片偏移八位生存时间八位协议 地址管理IP地址解决提议1:动态分配Ip地址解决提议2:NAT机制 IP协议 IP协议报头…

超越GPT-4V,苹果多模态大模型上新,神经形态计算加速MLLM(二)

上文介绍基于MINOnets神经网络架构加速多模态大模型的策略,本文将以Spinnaker2多核神经网络芯片EGRU架构为起点,覆盖存内计算架构,介绍新型计算架构在加速大模型推理的作用。SpiNNaker 2是一个设计用于大规模异步处理的多核神经形态芯片&…

openGauss学习笔记-267 openGauss性能调优-TPCC性能调优测试指导-网络配置-网卡多中断队列设置

文章目录 openGauss学习笔记-267 openGauss性能调优-TPCC性能调优测试指导-网络配置-网卡多中断队列设置267.1 操作步骤 openGauss学习笔记-267 openGauss性能调优-TPCC性能调优测试指导-网络配置-网卡多中断队列设置 本章节主要介绍openGauss数据库内核基于鲲鹏服务器和openE…

T3BI T3BI RS-232通讯操作指南与培训PPT课件

T3BI T3BI RS-232通讯操作指南与培训PPT课件

Python连接Oracle数据库问题解决及Linux服务器操作知识

背景说明 最近在做一个视频分析的项目,然后需要将视频分析的数据写入到oracle数据库,直接在服务器上测试数据库连接的时候出现了这个bug提示,自己通过不断的研究探讨,最终把这个问题成功进行了解决,在这里进行一下记录…

701强连通分量(python)

看见题目知道时间复杂度不超过(mlogm)。 这题用强连通分量 Tarjan 算法,强联通:对于任意两个点u和v,u可以到达v,v也可以到达u。这题需要考虑有重边,自环,同样别忘记可能会有两个点u…

Linux 操作系统编译器、静态库、动态库

1、编辑器 1.1、vim的安装 指令:sudo apt-get install vim 1.2 vim的使用 格式:vim 文件名 如果文件存在,只打开,文件不存在,创建并打开 vim的4中模式: 命令模式,插入模式,底行模…

Excel数据处理:高级筛选、查找定位、查找函数(VLOOKUP)

高级筛选 先去选中筛选区域 如果筛选的条件在同一行那么就是且的关系 如果筛选的条件不在同一行那么就是或的关系 查找定位空值 使用VLOOKUP函数

渗透测试入门教程,从零基础入门到精通(非常详细)

目录 什么是渗透测试 渗透测试的重要性 渗透测试的前置技能 开始入门学习路线 什么是渗透测试 渗透测试,通常被视为模拟黑客的一种安全评估行为,其目的在于全面挖掘目标网站或主机的潜在安全漏洞。与真实的黑客攻击不同,渗透测试旨在发现…

Spring定时器 Cron表达式的用法

前言 Cron表达式是一种用于描述定时任务执行时间的字符串格式,这种表达式基于时间字段来定义任务应该在哪些时间点执行,通常包含六个或七个用空格隔开的字段,分别代表秒、分钟、小时、日期、月份和星期(年份是可选的)…

系统架构最佳实践 -- 相关JAVA架构

1. java 类加载器架构 2. JVM 架构 3. Java 技术体系 4. 线程运行架构 5. Java 体系(编译与运行)结构 6. JMS 技术架构 7. JMX 技术架构 8. Spring 架构 9. Hibernate 架构 10. ibatis 架构 11. Struts2 架构 12. Struts1 架构 13. JBPM 14. EJB 技术架构…

万字总结!Docker简介及底层关键技术剖析

本文首发在个人博客上:万字总结!Docker简介及底层关键技术剖析 Docker 简介 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中&#x…

滚动条详解:跨平台iOS、Android、小程序滚动条隐藏及自定义样式综合指南

滚动条是用户界面中的图形化组件,用于指示和控制内容区域的可滚动范围。当元素内容超出其视窗边界时,滚动条提供可视化线索,并允许用户通过鼠标滚轮、触屏滑动或直接拖动滑块来浏览未显示部分,实现内容的上下或左右滚动。它在保持…

补档 -- 测试的分类(1)

最近有很多人私信我说: 灰灰你什么时候写测试分类阿, 本来我要开始肝性能测试的, 我一看, 奥, 之前摸鱼忘写了, 所以这里补档(叶问指着一边笑.jpg). 总览 标红的需要注意一下. 为什么要对软件测试进行分类? 软件测试是软件生命周期的一个重要环节, 具有较高的复杂性, 对于软…

排序 “叁” 之交换排序

目录 1. 基本思想 2.冒泡排序 2.1 基本思想 2.2 代码示例 2.3 冒泡排序的特性总结 3.快速排序 3.1 基本思想 🌵hoare版本 🌵挖坑法 ​编辑 🌵前后指针版本 ​编辑 3.2 快速排序优化 🌻三数取中法选key 3.4 快速排序…

如何在群晖NAS部署office系统办公服务并实现无公网IP远程编辑文件

文章目录 本教程解决的问题是:1. 本地环境配置2. 制作本地分享链接3. 制作公网访问链接4. 公网ip地址访问您的分享相册5. 制作固定公网访问链接 本教程解决的问题是: 1.Word,PPT,Excel等重要文件存在本地环境,如何在编…

Umi.js:登录之后需要手动刷新权限菜单才能渲染

在使用Umi.js开发后台管理页面时,用户登录之后,总是需要手动刷新一次页面,才能够拿到全局状态/权限信息。 问题描述 结合使用umi/plugin-layout和umi/plugin-access,登录进入页面,配置的权限菜单未渲染,需…

javaWeb项目-大药房管理系统功能介绍

项目关键技术 开发工具:IDEA 、Eclipse 编程语言: Java 数据库: MySQL5.7 框架:ssm、Springboot 前端:Vue、ElementUI 关键技术:springboot、SSM、vue、MYSQL、MAVEN 数据库工具:Navicat、SQLyog 1、Java语言简介 Ja…

【已解决】win10系统 Docker 提示Docker Engine stopped解决全过程记录

【已解决】win10系统 Docker 提示Docker Engine stopped解决全过程记录 一、检查服务是否开启 找到 【Docker Desktop Service】,然后,启动他; 你也可以直接设置为“自动” 找到服务,右键》属性》启动类型:自动》点击…

三. TensorRT基础入门-TensorRT简介

目录 前言0. 简述1. 什么是TensorRT2. TensorRT的工作流介绍3. TensorRT的一些限制总结参考 前言 自动驾驶之心推出的 《CUDA与TensorRT部署实战课程》,链接。记录下个人学习笔记,仅供自己参考 本次课程我们来学习课程第三章—TensorRT 基础入门&#xf…