二叉树,B-tree ,B+tree,B*tree之间的关系
  TdiUOXEvKHt9 2023年11月02日 51 0


B-tree与二叉树的关系

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

二叉树,B-tree ,B+tree,B*tree之间的关系_子节点

                     二叉树(每个节点只有一个键值对)

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

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

B-tree与B+树的区别

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

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

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

B*树

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

B+树的生成

二叉树,B-tree ,B+tree,B*tree之间的关系_键值对_04


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

TdiUOXEvKHt9