news 2026/6/9 22:38:10

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/6/9 19:52:16

计算机毕业设计springboot基于微信小程序的学生公寓管理系统 基于微信小程序的 Spring Boot 学生公寓管理系统设计与实现 微信小程序驱动的 Spring Boot 学生公寓管理平台开发

计算机毕业设计springboot基于微信小程序的学生公寓管理系统qfj689(配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。 随着互联网技术的飞速发展,学生公寓管理逐渐从传…

作者头像 李华
网站建设 2026/6/9 19:59:12

趣味记忆法让背诵变轻松

还记得孩子昨晚背课文时那痛苦的小表情吗?明明半小时前才读过的古诗,到默写时却磕磕绊绊忘了一大半。当传统的死记硬背消耗着孩子对学习的热情,有一种方法正在悄悄改变这一切——在脑轻松学能中心,我们让记忆过程变得像搭积木一样…

作者头像 李华
网站建设 2026/6/5 9:24:25

通过算法备案之后就万事大吉了么?

在AI驱动产品体验的时代,算法早已不是后台的“黑盒”,而是直接影响用户权益、舆论走向甚至社会公平的“隐形决策者”。为规范算法应用,我国自2022年起全面推行算法备案制度。然而,不少企业误以为“完成备案合规通关”,…

作者头像 李华
网站建设 2026/6/9 19:06:35

破碎机远程监控及远程维护的数字化解决方案

行业背景近年来,随着我国工业化、城镇化进程的加速推进,砂石骨料作为混凝土及砂浆的关键基础材料,在建筑、交通、水利等基础设施建设领域得到了广泛应用。这一趋势为破碎筛分设备行业带来了前所未有的发展机遇,促使众多工厂向智能…

作者头像 李华
网站建设 2026/6/5 10:40:10

HTTP 协议组成

一、概念HTTP 是一种应用层、基于请求–响应模型的无状态协议,由请求报文、响应报文以及传输规则组成。二、组成 HTTP 请求报文(Request) 请求行 请求头 空行 请求体(1)请求行 GET /index.html HTTP/1.1包含三部分&…

作者头像 李华
网站建设 2026/6/5 10:40:26

Part 12|模块要不要拆?新手也能用的一套判断方法

在做系统设计时,我们都会遇到一个问题:这个功能,要不要单独拆成一个模块?尤其是刚开始做项目的时候,很容易有一个想法:拆出来,看起来更专业一点。但实际情况往往是: 模块一多&#x…

作者头像 李华