多叉树的分类

在计算机科学中,B树(又叫B-tree,没有B减树这一说,‘-’是破折号)是一种自平衡,能够保持数据有序。这种数据结构能够让查找数据、顺序访问、插入数据及删除的动作,都在对数时间内完成。B树,概括来说是一个一般化的二叉查找树(binary search tree),可以拥有多于2个子节点。与自平衡二叉查找树不同,B树为系统大块数据的读写操作做了优化。B树减少定位记录时所经历的中间过程,从而加快存取速度。B树这种数据结构可以用来描述外部存储。这种数据结构常被应用在数据库文件系统的实现上。——来自百度百科

多叉树主要分为B树B+树B*树

B树

最经典的B树

可以看到B树是有顺序的,即22的左侧为小于22的,右侧为大于22的,

而在5,11子节点中,左侧是小于5的,中间是大于5但是小于11的,右侧是大于11的

---------------------------------------------------------------------------------------------------------------------------------

B树有以下几个要求

M为阶数

1,每个结点最多有m-1个关键字。

2,根结点最少可以只有1个关键字。

3,非根结点至少有Math.ceil(m/2)-1个关键字。(Math.ceil是向上取整)

4,每个结点中的关键字都按照从小到大的顺序排列,每个关键字的左子树中的所有关键字都小于它,而右子树中的所有关键字都大于它。

5,所有叶子结点都位于同一层,或者说根结点到每个叶子结点的长度都相同。

---------------------------------------------------------------------------------------------------------------------------------

 B+树

 B 树和B+树的主要区别是:B树的节点里包括(next指针,key-value键值对(或者直接用date存储数据)),总之B树的每个节点都存储了数据

 而B+树的节点包括 (next指针,key值),只有叶子节点是(next指针,key-value键值对)的形式 

且叶子节点是一种双向链表的形式,B+树的分支节点是用来选择的,省略了date的空间

 这张图可以看出主要的区别

B+树也是目前数据库中常用的一种数据结构

  • 21
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值