B树、B+树、B-树特点整合

5.1 B树

B树就是二叉搜索树。具有的特点如下:

(1)所有非叶子结点最多拥有两个儿子;

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

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

5.2 B-树

B-树的定义:

(1)       任意非叶子结点的儿子的个数最多为M个;

(2)       根结点的儿子的个数为[2,M]个;

(3)       除根的非叶子结点的儿子数为[M/2,M];

(4)       每个结点的关键字为(M/2-1)上取整~[M-1];

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

(6)       结点内的关键字是有序的;

(7)       每个指针指向的关键字不同的区域;

(8)       所有叶子结点位于同一层。

B-树的特点:

(1)       关键字分布在整棵树上;

(2)       任何一个关键字出现且出现在一个结点中;

(3)       搜索有可能在非叶子结点结束;

(4)       搜索性能等价于在关键字上做一次二分查找;

(5)       自动层次控制。

5.3 B+树

B+树的定义:

(1)       其定义基本与B-树相同,除了:

(2)       非叶子结点的孩子个数等于关键字的个数;

(3)       非叶子结点的指针p[i],指向[k[i],k[i+1]]的子树;

(4)       叶子指向一个链指针;

(5)       所有关键字都在叶子出现。

B+树的特点:

(1)       关键字都出现在叶子结点的链表中,且关键字恰好有序;

(2)       不可能在非叶子结点命中;

(3)       非叶子结点相当于索引,叶子结点相当于存储数据的数据层;

更适合文件索引系统。

    原文作者:B树
    原文地址: https://blog.csdn.net/qq_30507287/article/details/78071482
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞