二叉树,B-tree ,B+tree,B*tree之间的关系

B-tree与二叉树的关系

B-tree与二叉树都是树形算法,他们之间的区别在于二叉树的每个节点只能存储一个值,二B-tree可以存储M个值(其中M为用户设定的节点所包含键值对的数量

《二叉树,B-tree ,B+tree,B*tree之间的关系》                     二叉树(每个节点只有一个键值对)

《二叉树,B-tree ,B+tree,B*tree之间的关系》

B-tree每个节点有至多有M-1 个键值对

B-tree与B+树的区别

B+tree就是B-tree的改进版本。B-tree在每个节点都可以保存数据(键值对),而B+tree只有在叶子节点才可以存储数据。

《二叉树,B-tree ,B+tree,B*tree之间的关系》

上图为一个B+tree。不同于B-tree在每个节点都可以存储键值对,B+tree只在叶子节点存储键值对,在其他内部节点只存储键值。如图所示,在父节点也在其叶子节点中。这是因为只有叶子节点保存数据。并且每个叶子节点和其相邻的节点处也有连接,在某些情况下,可以加快搜索速度。

B*树

B*tree就是在B+tree的基础上,对所有的节点都用指针连接,所有节点之间都是有链接的(并不是直接的连接)

B+树的生成

《二叉树,B-tree ,B+tree,B*tree之间的关系》

GIF图转载自https://www.cnblogs.com/dongguacai/p/7239599.html

 

 

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