B树    即二叉搜索树:

1.所有非叶子结点至多拥有两个儿子(Left和Right);

2.所有结点存储一个关键字;

3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树;

B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中;否则,如果查询关键字比结点关键字小,就进入左儿子;如果比结点关键字大,就进入右儿子;如果左儿子或右儿子的指针为空,则报告找不到相应的关键字;

B-树  是一种多路搜索树(并不是二叉的):

1.定义任意非叶子结点最多只有M个儿子;且M>2;

2.根结点的儿子数为[2, M];

3.除根结点以外的非叶子结点的儿子数为[M/2, M];

4.每个结点存放至少M/2-1(取上整)和至多M-1个关键字;(至少2个关键字)

5.非叶子结点的关键字个数=指向儿子的指针个数-1;

6.非叶子结点的关键字:K[1], K[2], …, K[M-1];且K[i] < K[i+1];

7.非叶子结点的指针:P[1], P[2], …, P[M];其中P[1]指向关键字小于K[1]的子树,P[M]指向关键字大于K[M-1]的子树,其它P[i]指向关键字属于(K[i-1], K[i])的子树;

8.所有叶子结点位于同一层;

B-树的搜索,从根结点开始,对结点内的关键字(有序)序列进行二分查找,如果命中则结束,否则进入查询关键字所属范围的儿子结点;重复,直到所对应的儿子指针为空,或已经是叶子结点;

B+树 B+树是B-树的变体,也是一种多路搜索树:

1.其定义基本与B-树同,除了:

2.非叶子结点的子树指针与关键字个数相同;

3.非叶子结点的子树指针P[i],指向关键字值属于[K[i], K[i+1])的子树(B-树是开区间);

5.为所有叶子结点增加一个链指针;

6.所有关键字都在叶子结点出现;

B+的搜索与B-树也基本相同,区别是B+树只有达到叶子结点才命中(B-树可以在非叶子结点命中),其性能也等价于在关键字全集做一次二分查找;

转载于:https://www.cnblogs.com/chjw8016/archive/2011/03/08/1976891.html

数据库设计原理【B树、B-树、B+树】相关推荐

  1. 实验五——数据库设计实验

    实验五--数据库设计实验 一.实验题目 二. 实验内容和要求 三.实验步骤 1.分析问题 2.概念结构设计 3.逻辑结构设计 四.实验心得体会 一.实验题目 数据库设计实验 二. 实验内容和要求 掌握 ...

  2. 数据库实验5 数据库设计实验

    前言:不知道啥原因,最后设计出来少了一个表,无语 实验5 数据库设计实验 1.实验目的 掌握数据库设计基本方法及数据库设计工具. 2.实验内容和要求 掌握数据库设计基本步骤,包括数据库概念结构设计.逻 ...

  3. 不属于mysql常量的是_MySQL中,下面______常量的写法是不正确的?-智慧树MySQL数据库设计与应用章节答案...

    MySQL数据库设计与应用:MySQL中,下面______常量的写法是不正确的?[?ж???] A:'2.1E5 B:0x123abc C:b'121' D:null MySQL数据库设计与应用章节测 ...

  4. mysql函数包含的意思_MySQL存储函数的特性说明中,______表示函数体不包含SQL语句。-智慧树MySQL数据库设计与应用章节答案...

    MySQL数据库设计与应用:MySQL存储函数的特性说明中,______表示函数体不包含SQL语句.[?????] A:containssql B:modifiessqldata C:nosql D: ...

  5. LSM树设计原理详解

    代表数据库:nessDB.leveldb.hbase等 核心思想的核心就是放弃部分读能力,换取写入的最大化能力.LSM Tree ,这个概念就是结构化合并树的意思,它的核心思路其实非常简单,就是假定内 ...

  6. MySQL数据库搜题_智慧树知到_MySQL数据库设计与应用_搜题公众号

    智慧树知到_MySQL数据库设计与应用_搜题公众号 更多相关问题 阅读理解. This is the twin's(双胞胎的) room. It's a nice room. The two beds ...

  7. mysql数据库慕课答案_智慧树MySQL数据库设计与应用慕课答案

    智慧树MySQL数据库设计与应用慕课答案 更多相关问题 [单选] TDD-LTE中一个子帧包含()时隙, [多选] 调整天线下倾角可以改变:() [单选] 多级破碎时,总破碎比等于多机破碎比的(). ...

  8. 机构树的数据库设计与查询构想-使用递归算法

    需求 设计机构树,查询实验室所有机构 以某一节点为根节点,查询局部机构树 实现 思路: 自身嵌套查询 代码递归查询 数据库设计 CREATE TABLE `sys_dept` (`id` bigint ...

  9. mysql数据库设计与应用答案智慧树_知到智慧树_MySQL数据库设计与应用_答案完整...

    知到智慧树_MySQL数据库设计与应用_答案完整 更多相关问题 [B11]A.carry onB.linger onC.set inD.log in 数据库的三级模式结构中,模式也称为A.逻辑模式B. ...

最新文章

  1. oracle查看数据库字符编码,oracle 查看、批改字符集编码
  2. 【Linux Deploy】一、Linux Deploy安装配置使用教程
  3. 排查链接是否失效_Linux服务器入侵检测排查方法
  4. ITK:概念检查是同一类型
  5. System中不存在类型或命名空间名称Transactions
  6. 缓冲区 | 没吃透Netty 缓冲区,还能算得上Java老司机?
  7. java jdbc 参数_java_jdbc_可变参数_MetaData
  8. 华三 h3c ospf、rip 路由引入和路由策略
  9. Vue网页录音,js录音mp3
  10. IMAGE_IMPORT_DESCRIPTOR
  11. Azkaban学习_Azkaban(阿兹卡班)介绍 + Azkaban 安装部署 + Azkaban 实战
  12. 【卷积神经网络】感受野
  13. Flappy bird
  14. FCSAN存储与服务器关联映射 在Linux系统中如何识别操作
  15. 如何配置 Cilium 和 BGP 协同工作?
  16. 三维空间几何变换矩阵
  17. 室内定位程序_如何设计室内AR导航系统?
  18. vue路由详解 --基础
  19. 人机对话是怎么产生的?
  20. 稻歌Google Map截获器的使用

热门文章

  1. 注释 向 Java 代码中添加元数据
  2. linux开源镜像站 目录帮助,LinuxEye开源镜像站运营
  3. Java学习之字符与ASCII码相互转换的面板设计
  4. Spring Cloud Stream与RabbitMQ 生产者和消费者位于同一个应用服务
  5. MySQL 基准测试(mysqlslap)出现 Using a password on the command line interface can be insecure 警告
  6. Unknown entity (Hibernate的findById方法参数必须加上包名)
  7. 串口通信工具android,Android串口通信工具
  8. 在windows 服务中 调打印_Windows打印后台处理程序漏洞(CVE20201048)
  9. python提高运行效率_提高CPU密集型任务执行效率——Python多进程介绍,内附实例代码...
  10. java: -source 1.5 中不支持 diamond 运算符