数据库索引技术中经常使用的B树和B+树详解

本文详细介绍了B树和B+树的定义、特性及查找过程。B树是一种平衡的多路查找树,适用于动态查找,而B+树则在B树基础上优化,所有数据都在叶子节点,适合范围查找。两者在数据库索引中发挥重要作用。
摘要由CSDN通过智能技术生成

B树

B树,又叫做B-Tree。他是一种平衡的多路查找树。主要面向动态查找,通常用在文件系统中。

1、B树的定义:

一颗m阶的B树或者为空树,满足以下的几个条件:

(1)所有的叶子节点都在同一层上面,并且叶子节点上面不存储信息。叶子节点的双亲节点为终端节点。

(2)树中的每个节点至多有m颗子树。

(3)若根节点不是终端节点,则根节点至少有两颗子树。

(4)除了根节点以外的所有非终端节点至少有m/2颗子树。

(5)所有的非终端节点都包含三个信息:关键码个数、关键码和指向子树根节点的指针。其中关键码是按照从小到大进行排列的。

  B树的叶子节点通常可以看做是查找失败的节点,称为外节点。实际上这些外节点是不存在的,指向这些节点的指针为空,所以B树的叶子节点可以不用画出来。由于叶子节点都在出现在同一层上面,所以B树是高度平衡的。如下图,是一颗4阶的B树。

                  

2、B树的查找(数据库中索引查找的体现)

  B树的查找类似于二叉排序树的查找,不同的是B树的每个节点是含有多关键码的有序列表,在到达某个节点时,先在有序表中查找,若找到,则查找成功;否则,按照指针到相应的子树中查找,到达叶子节点时,查找失败。

  在B树上的查找过程是一个顺时针查找节点和在节点中查找关

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值