多路查找树(B树)

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

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.csdn.net/v_july_v/article/details/6530142

B+树

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

B树和B+树不同点:

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

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

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

猜你喜欢

转载自blog.csdn.net/hhhhhyyyyy8/article/details/81077533
今日推荐