每日一题------面试

红黑树,b树,b+树有什么区别?

特性红黑树B树B+树
节点容量

每个节点存1个键值对

每个节点存多个键值对

非叶节点存多个键,仅叶节点存值

分支数

二分叉(二叉树)

多分叉(多路树)

多分叉,叶节点额外链表连接

数据存储位置

所有节点均存数据

所有节点均存数据

数据仅存于叶节点

平衡维护方式

颜色标记与旋转

节点分裂/合并

节点分裂/合并

查找稳定性

查到即返回

查到即返回

必须查至叶节点

核心区别:

  • 查询效率:红黑树单点查询稳定在 O(log n),但树深度较高(如1亿数据需约30次查找)。B/B+树:树高更低(相同数据量下树高度可能仅为红黑树的1/3),显著减少磁盘I/O次数。

  • 范围查询:B+树的叶子节点通过指针形成链表,范围遍历效率极高(如查询[A, Z]只需找到起点后顺序遍历)。B树/红黑树:范围查询需回溯父节点或频繁调整指针,效率较低。

  • 插入/删除维护成本:红黑树需频繁旋转和变色,维护规则复杂。B/B+树:通过批量调整(分裂/合并节点)减少频繁操作,更适合海量数据。

  • 场景选择:如果数据在内存中 + 高频增删 ,选择红黑树更合适,如果数据在磁盘 + 随机/范围查询均需 ,选择B+树更合适。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值