数据结构-二叉平衡树

一.平衡二叉树

二叉搜索树插入的次序不同导致不同的深度和平均查找长度ASL

左右子树高度差不超过绝对值1的二叉搜索是二叉平衡树

二.平衡二叉树的调整

在右子树的右子树上的插入做RR插入

把被破坏节点的右子树变成跟节点并把这个右子树的左子树挂载到原来被破坏的结点的右子树,被破坏的节点作为右儿子

插入节点在被破坏者右边的右边是RR

不一定插在某个节点的右边

在左子树的左子树上的插入做LL插入

把被破坏节点的左子树变成跟节点并把这个左子树的右子树挂载到原来被破坏的结点的左子树,被破坏的节点作为左儿子

插入节点在被破坏者左边的左边是LL

两个节点的平衡性被破坏了,只要考虑最下面的节点这个节点平衡了上面节点自然就平衡了

被破坏结点左边的右边插入,叫做LR插入

所以需要关注May,Aug,Mar三个结点将这三个结点的中间值结点变为跟结点,这里的中间结点是Mar所以需要先将提上来,左旋转,然后再进行右旋转

第一次旋转(左旋转)

第二次旋转(右旋转)

RL旋转与LR旋转相似

相关推荐
奋发向前wcx2 小时前
y1,y2总复习笔记5 2026.7.19
数据结构·笔记·算法
ChaoZiLL6 小时前
我的数据结构4-栈和队列
数据结构
miller-tsunami6 小时前
顺序表相关知识点
数据结构·顺序表
华玥作者9 小时前
uniapp 万条数据不卡顿:我写了个虚拟列表组件 hy-list,原生支持瀑布流
数据结构·uni-app·list·vue3
2401_841495649 小时前
【数据结构】B*树
数据结构·c++·b树·算法·删除·插入·三分分裂
晚笙coding9 小时前
LeetCode 108:将有序数组转换为二叉搜索树 —— 从数组到平衡二叉树的递归构造
数据结构·算法·leetcode
不如语冰10 小时前
AI大模型入门-模块导入import
数据结构·人工智能·pytorch·python
岑梓铭10 小时前
《考研408数据结构》第七章(7.1 查找:顺序查找、折半查找、分块查找)复习笔记
数据结构·笔记·考研·408·ds·查找
壹号用户11 小时前
c++入门之list了解及使用
数据结构·list
来一碗刘肉面11 小时前
什么是双端队列
数据结构·链表