B+树 习题解

原创 2016年06月01日 17:33:18

B+树是一种n叉树,它将所有数据存在一个level中。B+ 树的特点是能够保持数据稳定有序,其插入与修改拥有较稳定的对数时间复杂度。因此B+树被应用于数据库和操作系统的文件系统中。
B+树的理解没有红黑树这么复杂,本文将首先简要介绍B+树,然后分析B+树的先关题目。本文重点是最后一部分。


介绍

A B+ tree of order M is a tree with the following structural properties:
(1) The root is either a leaf or has between 2 and M children.
(2) All nonleaf nodes (except the root) have between M/2 and M children.
(3) All leaves are at the same depth.
Assume each nonroot leaf also has between M/2 and M children.

需要注意:

  1. 每个存储数据的叶节点,其中的数据数量在M/2 与 M之间(闭区间)。若超出这个区间,则进行调整。
  2. 从空树开始时,数据首先存放在根节点中,当根节点的数据大于M时再进行调整。
  3. 根的子节点数最小为2, 而其他非根节点的子节点数最小为 M/2

相关题目

Insert 3, 1, 4, 5, 9, 2, 6, 8, 7, 0 into an initially empty 2-3 tree (with splitting). Which one of the following statements is FALSE? (2分)
A. 7 and 8 are in the same node
B. the parent of the node containing 5 has 3 children
C. the first key stored in the root is 6
D. there are 5 leaf nodes

解题过程

故选A

After deleting 9 from the 2-3 tree given in the figure, which one of the following statements is FALSE? (2分)
题目配图
A. the root is full
B. the second key stored in the root is 6
C. 6 and 8 are in the same node
D. 6 and 5 are in the same node

这里写图片描述

故选D

Which of the following statements concerning a B+ tree of order M is TRUE? (2分)
A. the root always has between 2 and M children
B. not all leaves are at the same depth
C. leaves and nonleaf nodes have some key values in common
D. all nonleaf nodes have between ⌈M/2⌉ and M children

A. 当只有root一个节点时,root没有孩子。故错。
B. 这违反了定义“所有叶节点位于同一深度”。
C. 正确。
D. 除了根节点外的非叶结点有 ⌈M/2⌉ 与 M 之间的子节点。
故选D

版权声明:本文为博主原创文章,未经博主允许不得转载。

B-树学习笔记

B-tree(多路搜索树,并不是二叉的)是一种常见的数据结构。使用B-tree结构可以显著减少定位记录时所经历的中间过程,从而加快存取速度。按照翻译,B 通常认为是Balance的简称.这个数据结构一...
  • acs713
  • acs713
  • 2011年10月17日 10:28
  • 14202

高数 07.10 多元函数微分学习题02B

多元函数微分学习题
  • longji
  • longji
  • 2017年12月10日 13:43
  • 15

习题 4.3 写出下面各逻辑表达式的值。设a=3,b=4,c=5。

C程序设计(第四版) 谭浩强 习题4.3 个人设计习题 4.3 写出下面各逻辑表达式的值。设a=3,b=4,c=5。(1) a + b > c && b == c(2) a || b + c && b...

Homework 1165 - C++作业第十章(主讲老师徐红云) Problem B: C++第十章习题2

建立结点包括一个任意类型数据域和一个指针域的单向链表类模板。在main函数中使用该类模板建立数据域为整型的单向链表,并倒序把链表中的数据输出。 Input 输入为若干组数据,每组数据用2行...

高数 07.09 多元函数微分学习题01

多元函数微分学习题01
  • longji
  • longji
  • 2017年12月06日 11:01
  • 13

Problem B: C语言习题 学生成绩输入和输出

Problem B: C语言习题 学生成绩输入和输出 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 3124  Solved: 1525 [Su...
  • LJ_King
  • LJ_King
  • 2016年06月25日 11:47
  • 311

oj刷题—Problem B: C语言习题5.25--文件操作2

Problem B: C语言习题5.25--文件操作2 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 987  Solved: 402 [Sub...

oj Problem B: C语言习题5.25--文件操作2

问题: 文本文件score.dic 中存储了n名学生的信息(班级编号,姓名,成绩),每个学生信息占一行,每行的数据之间使用制表符分割,如下所示: 145811  fuxin 100 1458...

算法习题17:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b

题目:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。    分析:这道题是2006年google的一道笔试题。 --------------------------...
  • ylf13
  • ylf13
  • 2013年10月17日 12:01
  • 924

Problem B: C语言习题 矩阵元素变换

Problem B: C语言习题 矩阵元素变换 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 942  Solved: 558 [Submi...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:B+树 习题解
举报原因:
原因补充:

(最多只允许输入30个字)