news 2026/9/21 18:48:56

AVL树要点急速过

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AVL树要点急速过

AVL树

一.概念:

1.二叉搜索树

2.所有子树高度差至多为1

3.左右子树都是AVL树

4.空树也是AVL树

二.特点

1.有(或没有)平衡因子,平衡因子 = 右子树高度 - 左子树高度 = 1/ 0/ -1

2.两个logN:高度和时间复杂度

3.高度平衡

三.结构

1.结点(AVLTreeNode):父母,左子树,右子树,平衡因子,值

2.AVL树(AVLTree):结点

四.插入

1.比较插入值kv的first从根节点的first向下开始比较,走到指定的叶子结点的子节点

2.插入后某些结点的平衡因子可能会发生改变,要进行更新:插入到左子树,平衡因子-1;插入到右子树,平衡因子+1;依次往上更新

3.更新后的平衡因子必有以下几种情况:(正常情况下,插入结点一定有平衡因子发生改变)

a 平衡因子变成+-1:继续往上判断

b 平衡因子变成0:正常结束完美结局

c 平衡因子变成+-2:坏结局,开始旋转

4.若发生旋转,再次更新平衡因子

五.旋转

a 右单旋(左边彻底高)旋转条件: 平衡因子 -2 -1

5的右给10的左,5成为10的父母

b 左单旋(右边彻底高)旋转条件: 平衡因子 2 1

15的左给10的右,15做10的父母

注意:10结点有两种情况:为根节点和非根节点

b树可能为空

定义两个结点parent 10 subL5

先改变各结点的指向,再更新平衡因子

c 左右双旋(先左高,再右高)旋转条件: 2 -1 -1

先左旋5再右旋10

最终结果:8的左给5的右,8的右给10的左,5和10做8的左右

d右左双旋(先右高再左高)

12的左给10的右,12的右给15的左,10和15为12的左右

用到三个结点parent,subL,subLR

先执行subR的左单旋,再执行parent的右单旋

最后更新平衡因子

判断条件为subRL(12)的平衡因子

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/21 7:10:33

org.jetbrains.annotations的@Nullable 学习

Nullable 是 JetBrains 提供的一套用于 Java 静态分析的注解(annotations)之一,属于 org.jetbrains.annotations 包。它主要用于标注一个变量、参数、方法返回值等可能为 null,从而帮助 IDE(如 IntelliJ IDEA&#xff…

作者头像 李华
网站建设 2026/9/21 3:36:14

计算机毕业设计springboot计算机硬件自配系统 基于Spring Boot的计算机硬件配置管理系统设计与实现 Spring Boot架构下的计算机硬件自选系统开发

计算机毕业设计springboot计算机硬件自配系统839019 (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。随着信息技术的飞速发展,计算机硬件市场的复杂性和多样性不断增加…

作者头像 李华
网站建设 2026/9/21 20:56:55

【信创】中间件对比

定位说明:本文面向企业架构师、后端研发负责人、信创项目技术选型人员,系统梳理中间件的分类体系、国外主流产品格局,以及国产信创中间件的对标与落地实践建议,适合作为技术博客或内部技术白皮书使用。一、中间件的核心定位与价值…

作者头像 李华
网站建设 2026/9/21 20:56:12

傅里叶变换小波变换

在信号分析领域,我们经常面对这样的问题:信号中有哪些频率成分?这些频率在什么时候出现?是否发生了突变?围绕这个问题,形成了三种非常经典、也是工程中最常用的分析工具: 傅里叶变换&#xff08…

作者头像 李华
网站建设 2026/9/20 22:11:41

智能桑拿房首选:水管家集成系统如何提升体验?

2025水质综合处理器桑拿智能水管家行业权威榜单极致体验与降本增效如何平衡?看头部品牌如何重塑行业标准引言随着浴室行业竞争白热化,消费者对水质体验的敏感度持续攀升——女性用户吐槽漂浮药味、年轻客群对水质浑浊率杀评、家庭客群则因孩子皮肤不适直…

作者头像 李华
网站建设 2026/9/21 13:03:27

最简单的LangChain和RAG

ollama的API:https://docs.ollama.com/api/ps ollama的API:https://github.com/ollama/ollama/blob/main/docs/api.md?utm_sourcechatgpt.com Ollama API ├── 推理类(最常用) │ ├── /api/generate ← 单轮生成 │ …

作者头像 李华