多路查找树(B树)

本文介绍了多路查找树的基本概念,包括2-3树、2-3-4树及B树和B+树的特点与区别。2-3树每个结点有两个或三个孩子,而2-3-4树在此基础上允许结点有四个孩子。B树是一种平衡的多路查找树,具有固定的阶数。B+树则支持索引和顺序查找,并将所有关键字信息存储在叶子节点中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

多路查找树,其每一个结点的孩子数可以多于两个,且每一个结点处可以存储多个元素。

2-3树

每一个结点都具有两个孩子(2结点)或三个孩子(3结点)

一个2结点包含一个元素和两个孩子(或没有孩子),左子树包含的元素小于该元素,右子树包含的元素大于该元素。

一个3结点包含一小一大两个元素和三个孩子(或没有孩子),左子树包含小于较小元素的元素,右子树包含大于较大元素的元素,中间子树包含介于两元素之间的元素。并且2-3树中所有的叶子都在同一层次上。

2-3-4树

B树

2-3树,2-3-4树都是B树的特例。

定义:

是一种平衡的多路查找树,节点最大的孩子数目称为B树的阶。

一个M阶B树具有如下属性:

  • 如果根结点不是叶节点,其至少有两棵子树;
  • 每一个非根的分支节点都有k-1个元素和k个孩子,其中向上取整(m/2)<=k<=m,每一个叶子节点都有k-1个元素,其中向上取整(m/2)<=k<=m。
  • 所有叶子节点都位于同一层次、
  • 节点中数据按照递增次序进行排列;

图片来自 https://blog.youkuaiyun.com/v_july_v/article/details/6530142

B+树

参考https://www.sohu.com/a/156886901_479559

B树和B+树不同点:

B+树既能支持索引查找又能支持顺序查找

B+树所有的叶子节点包含全部关键字的信息,以及指向含这些关键字记录的指针,叶子节点本身依关键字的大小从小到大顺序链接;

所有分支节点可以看成索引,节点中仅包含有其子树中的最大(或最小)关键字。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值