B tree vs. B+ tree

B tree

  • 为实现高效的磁盘存取而设计的多叉平衡搜索树,在文件系统,数据库系统中非常重要
  • 类似普通的二叉树,但是允许每个节点有更多的子节点,每个节点存储更多的信息,以降低I/O操作数
  • 每个节点存多个关键字
  • 每个节点所存的关键字个数有一个范围:即至少要有几个,最多要有几个
  • 键值有序
  • 为了维持子节点数在预先设定的数量范围内,内部节点可能会被合并或分离

B_tree

B+ tree

  • 叶子节点增加了指针,即相邻叶子节点顺序链接
  • 存取redundant的关键字

B+_tree

Difference between B tree and B+ tree

  • 在B tree中,关键字(key)以及数据(data)可以存在内部节点,也可以存在叶子节点,而在B+ tree中,内部节点只存关键字,只有在叶子节点才存关键字以及该关键字对应的数据。
  • B+ tree磁盘读写代价更低,因为其内部节点没有指向关键字具体信息的指针,所以同一盘块所能容纳的关键字数量更多。

Refenences

  1. Difference between B Tree and B+ Tree
  2. 以B tree和B+ tree的区别来分析mysql索引实现
  3. 从B树、B+树、B*树谈到R树
  4. B树与B+树
  5. AVL tree vs. B tree
  6. 维基百科之B树
  7. 维基百科之B+树
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值