b树、b+树与红黑树的区别及应用场景

本文详细介绍了B树、B+树与红黑树的区别及其应用场景。B树适合内存访问,B+树适用于磁盘存储,具有更好的空间局部性和缓存命中率,常用于数据库索引。红黑树是一种自平衡二叉查找树,适用于大量插入删除操作,常见于epoll、nginx和Java集合类中。
摘要由CSDN通过智能技术生成

b树、b+树与红黑树的区别及应用场景

定义:

B 树可以看作是对2-叉查找树的一种扩展,即他允许每个节点有M-1个子节点。

  • 根节点至少有两个子节点
  • 每个节点有M-1个key,并且以升序排列
  • 位于M-1和M key的子节点的值位于M-1 和M key对应的Value之间
  • 其它节点至少有M/2个子节点

以下是一颗M=4阶的b树:
在这里插入图片描述
B+树是对B树的一种变形树,它与B树的差异在于:

  • 有k个子结点的结点必然有k个关键码;
  • 非叶结点仅具有索引作用,跟记录有关的信息均存放在叶结点中。
  • 树的所有叶结点构成一个有序链表,可以按照关键码排序的次序遍历全部记录。
  • 更适合文件索引系统(如数据库索引);

如下图,是一个B+树:
在这里插入图片描述
B和B+树的区别在于:
B+树的非叶子结点只包含导航信息,不包含实际的值,所有的叶子结点和相连的节点使用链表相连,便于区间查找和遍历。

B+ 树的优点在于:

  • 由于B+树在内部节点上不好含数据信息,因此在内存页中能够存放更
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值