当前位置: 首页 > web >正文

408考研逐题详解:2009年第8题

2009年第8题

下列叙述中,不符合 m 阶 B 树定义要求的是( )
A. 根结点最多有 m 棵子树
B. 所有叶结点都在同一层上
C. 各结点内关键字均升序或降序排列
D. 叶结点之间通过指针链接

详解

本题考查了 B 树和 B+树的基础知识。

首先看有关 B 树的基本概念:

  • 一棵 m m m 阶的 B-树(即结点中孩子的最大数量是 m m m),或为空树,或为满足下列特性的 m m m 叉树:
    • 树中每个结点至多有 m 棵子树;
    • 若根结点不是叶子结点,则至少有两棵子树;
    • 除根之外的所有非终端结点至少有 ⌈ m / 2 ⌉ \lceil m/2\rceil m/2 棵子树;
    • 所有的叶子结点都出现在同一层次上,并且不带信息,通常称为失败结点 (失败结点并不存在,指向这些结点的指针为空。引入失败结点是为了便于分析 B-树的查找性能);
    • 所有的非终端结点最多有 m − 1 m-1 m1 个关键字,结点的结构如图所示。其中:
      • K i ( i = 1 , ⋯ , n ) K_i~(i=1,\cdots,n) Ki (i=1,,n) 为关键字,且 K i < K i + 1 ( i = 1 , ⋯ , n − 1 ) K_i\lt K_{i+1}~(i=1,\cdots,n-1) Ki<Ki+1 (i=1,,n1)
      • P i ( i = 0 , ⋯ , n ) P_i~(i=0,\cdots,n) Pi (i=0,,n) 为指向子树根结点的指针,且指针 P i − 1 P_{i-1} Pi1 所指子树中所有结点的关键字均小于 K i K_i Ki P n P_n Pn 所指子树中的所有结点的关键字均大于 K n K_n Kn n ( ⌈ m / 2 ⌉ − 1 ≤ n ≤ m − 1 ) n~(\lceil m/2\rceil-1\le n\le m-1) n (⌈m/21nm1) 为关键字的个数(或 n + 1 n+1 n+1 为子树的个数)

在这里插入图片描述

根据以上内容,可以判断,题目中的 A/B/C 选项的叙述都是符合 m 阶 B 树定义的。

再看关于 B+树的基本知识:

一棵 m m m 阶 B+树满足下列条件:

  • 每个分支结点最多有 m m m 棵子树。
  • 根结点或者没有子树,或者最少有两棵子树。
  • 除根结点以外,其他每个分支结点最少有 ⌈ m / 2 ⌉ \lceil m/2\rceil m/2 棵子树。
  • n n n 棵子树的结点有 n n n 个关键字。
  • 所有叶子结点(不是外部结点)包含全部关键字及指向相应记录的指针,而且叶子结点按关键字大小顺序链接(可 以 把每个叶子结点看成是一个基本索引块,它的指针不再指向另一级索引块,而是直接指向数据文件中的记录)。
  • 所有分支结点(可看成是索引的索引)中仅包含它的各个子结点(即下级索引的索引块)中的最大关键字及指向子结点的指针。

很显然,B+树的叶结点之间通过指针链接。所以题目中的选项 D 不符合 B 树定义,这是 B+树的特点。

本题答案:D

http://www.xdnf.cn/news/3993.html

相关文章:

  • Java后端程序员学习前端之CSS
  • Python matplotlib 成功使用SimHei 中文字体
  • 详解RabbitMQ工作模式之发布订阅模式
  • 基于C++实现的深度学习(cnn/svm)分类器Demo
  • Baklib知识中台:智能服务架构新实践
  • 【算法学习】递归、搜索与回溯算法(一)
  • python函数复习(形参实参,收集参数,关键字参数)
  • uniapp中用canvas绘制简单柱形图,小容量,不用插件——简单使用canvas
  • QT 在圆的边界画出圆
  • IP属地是我的定位吗?——解析两者区别
  • Python异步编程入门:从同步到异步的思维转变
  • VBA信息获取与处理专题五:VBA利用CDO发送电子邮件
  • 【外围电路】按键电路设计外接信号输入设计
  • Go小技巧易错点100例(二十九)
  • rollout 是什么:机器学习(强化学习)领域
  • 【Vue】Vue3源码解析与实现原理
  • 关于 dex2oat 以及 vdex、cdex、dex 格式转换
  • VLA算法总结对比——RT1 / RT2 / Pi0 / Octo/ RDT / OpenVLA
  • 钩子函数和参数:Vue组件生命周期中的自定义逻辑
  • 2.3 向量组
  • Linux电源管理(6)_Generic PM之挂起功能
  • Ubuntu K8S(1.28.2) 节点/etc/kubernetes/manifests 不存在
  • n8n工作流自动化平台:生成图文并茂的分析报告之Merge节点详细说明
  • labelimg快捷键
  • DXFViewer进行中 : ->封装OpenGL -> 解析DXF直线
  • SpringMVC框架详解与实践指南
  • 【PostgreSQL数据分析实战:从数据清洗到可视化全流程】4.3 数据脱敏与安全(模糊处理/掩码技术)
  • 力扣119题解
  • 六、shell脚本--正则表达式:玩转文本匹配的“万能钥匙”
  • Java使用JDBC操作数据库