各种树的优缺点

  • 二叉树
  • 平衡二叉树
  • B树
  • B+树

面临的问题:

  • 哈希索引问题

  • 回旋查找问题 --> 范围查找

  • 树高问题

  • 范围查找问题

1-哈希索引问题

  1. 因为哈希值是一个无序值,所以使用哈希值作为索引无法应对范围查找、顺序查找问题;
  2. 哈希值可能会发生冲突

2-平衡二叉树

平衡二叉树的结点可以存储多个数据。

  1. 可以有效的控制左右子树的高度,左右子树的高度差最大为1
  2. 同样无法进行范围查找

3-B树

B树结构:B 树的所有节点既存放键 (key) 也存放数据 (data),而 B + 树只有叶子节点存放 key 和 data,其他内节点只存放 key。B 树的叶子节点都是独立的;

  1. 一个节点可以同时存多个值,让树高变矮,减少磁盘IO次数,增加查找速度。
  2. 同样无法应对范围查找

4-B+树

  1. 一个结点可以存储多个值,让树高变矮,减少磁盘IO次数,增加查找速度。
  2. 通过叶子结点的单项链表解决了回旋查找问题与范围查找问题
  3. 非叶子结点存储key索引,叶子结点存储key与value,同时叶子结点已经是排好序的
  4. 问题:有些叶子结点可能既是索引又是值,查询它们效率可能会降低
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值