二叉搜索树,平衡二叉搜索树,红黑树,B树和B+树

二叉搜索树

  • 每个节点的左子树都小于此节点的值
  • 每个节点的右子树都大于此节点的值
  • 左右子树也都是二叉搜索树
  • 在查找的时候,类似于二分查找,时间复杂度都是O(lgn)

缺点:

  • 二叉搜索树左右不平衡就会使查找变慢,甚至极端情况二叉搜索树可能退化为链表

平衡二叉树

  • 平衡二叉树都是二叉搜索树
  • 每个节点的左子树和右子树高度最多相差1

缺点:

  • 每次插入新节点都要重新调整以达到平衡,这是非常耗时的,虽然查询效率很高,但是增删效率很低。
  • 树越高,增删节点就越慢,要维持平衡就要访问很多节点,效率越低。
  • 树越高,查询效率越慢
  • 适合用于增删频率低,查询频率高的场合。

红黑树

  • 红黑树也是二叉搜索树
  • 红黑树是一种若平衡二叉树,红黑树不用必须要求左子树和右子树高度最多相差1,只需要大致平衡就行
  • 对于增删和查询都很频繁的场景,适合用红黑树。

缺点:和平衡搜索树一样,树越高,效率越低。

B树

  • B树是子节点可以有M-1个子节点的搜索树
  • 每个节点不仅可以是一个val,还可以是升序数组
  • 子节点从左到右以升序排列
    在这里插入图片描述
    优缺点:
  • 相比较于平衡二叉树红黑树,更加矮胖,树的高度低,效率高
  • 但是相较于B+树,还不够矮胖,效率仍然没有B+树效率高
  • B树更适合增删改,B+树更适合查询
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值