AVL树的学习

平衡因子

(左子树高度 - 右子树高度)的绝对值 <= 1

旋转操作

左旋:向左旋转,冲突的左孩变右孩

冲突的左孩变成了右孩,两个中序遍历是一致的,说明它俩是等价的。

右旋:向右旋转,重推的右孩变左孩

冲突的右孩变左孩

什么时候左旋,什么时候右旋

LL型

失衡节点:平衡因子 = 2

失衡节点左孩子:平衡因子 = 1

向右旋转,冲突的右孩变左孩

RR型

失衡节点:平衡因子 = -2

失衡节点左孩子:平衡因子 = -1

向右旋转,冲突的左孩变右孩

LR型

失衡节点:平衡因子 = 2

失衡节点左孩子:平衡因子 = -1

左旋左孩子,然后右旋

RL型

失衡节点:平衡因子 = -2

失衡节点左孩子:平衡因子 = 1

右旋右孩子,然后左旋

平衡二叉树插入

插入节点后如果导致多个祖先节点失衡,只需调整距离插入节点最近的失衡节点,其它失衡点会自然平衡

相关推荐
_wxd6664 小时前
二叉搜索树(BST)万字详解:概念、操作、性能分析与 C++ 实现
数据结构·c++·二叉搜索树
Logic1014 小时前
C语言/数据结构动态规划题解:字符串变回文的最少操作次数——最长回文子序列(LPS)
c语言·数据结构·算法·动态规划·时间复杂度·回文串·最长回文子序列
星恒随风4 小时前
Linux进程间通信(一):从匿名管道、命名管道到进程池,深入理解Pipe、FIFO与文件描述符
linux·运维·笔记·学习·状态模式
chde2Wang4 小时前
numpy学习2
学习·numpy
UIU1144 小时前
P1115 最大子段和
c++·算法
Xudde.4 小时前
DC-6 靶机渗透测试(Vulnhub Writeup)
笔记·学习·安全·web安全
垆边人似月.4 小时前
华为题:零钱兑换
算法·华为
xian_wwq4 小时前
【学习笔记-一文读懂系列】一文读懂Jev模型
笔记·学习
Highcharts.js4 小时前
关联网络图可视化与力导向关系图开发示例
学习·信息可视化·highcharts·前端可视化·交互图表·力导向图·network graph
Logic1014 小时前
C语言/数据结构组合数学题解:数字好排列计数——质数倍数分类与阶乘取模
c语言·数据结构·算法·组合数学·时间复杂度·排列·取模运算