索引之二叉查找树,平衡二叉树

二叉查找树(二分查找)

不合适做索引,因为当数据库中的数据变更时(删除/新增节点),可能会变为一个线性表,那么查找的效率会很低.
二叉查找树
删除增加节点

平衡二叉树

1 :每个节点最多只能有二个孩子节点
2 :左子树的值小于根节点的键值,右子树的键值大于根节点的键值。
3 :任意节点的左子树和右子树的高度差的绝对值不超过1(平衡二叉树的特点)
平衡二叉树
非平衡二叉树

平衡二叉树进行插入操作可能导致失去平衡

LL(左左插入失去平衡):
左左失去平衡(左边高,右边低) 我们需要把根节点的左孩子作为新的根节点,进行旋转.得到新的树节点。
在这里插入图片描述
LR(左右插入节点,导致树失去平衡) :向跟节点的左孩子的右孩子插入 导致树失去平衡
LR(左右插入节点,导致树失去平衡)
需要二次旋转:第一次 旋转4 6,把6作为跟节点
在这里插入图片描述
第二次旋转 6 8旋转,把6作为跟节点为
在这里插入图片描述
平衡二叉树虽然解决了二叉树增加或者删除节点的时候,一棵树容易拉变为一个线性表的缺点(通过旋转),但是他总归还是一个二叉树,当节点的个数很多的时候,那么树的层级就会变的很深 很深,递归查询很费时间.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值