news 2026/5/9 5:16:01

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/5/4 13:58:59

--工具和MCP调用

1. 工程结构概览 Spring AI 提供了完整的工具调用(Tool Calling)能力,让 AI 模型可以调用外部服务。同时,Spring AI 还支持 MCP(Model Context Protocol),这是一个标准化的工具协议。 spring-a…

作者头像 李华
网站建设 2026/5/8 22:04:27

每日 AI 评测速递来啦(12.17)

司南Daily Benchmark 专区今日上新! KFS-Bench 首个面向长视频问答的关键帧采样评测基准,通过引入多场景标注,实现对采样策略直接且稳健的评估。 https://hub.opencompass.org.cn/daily-benchmark-detail/2512%2014017 Soul-Bench 一个面…

作者头像 李华
网站建设 2026/5/8 22:04:36

Sutherland与ComplyAdvantage推出AI原生“统一金融犯罪合规”解决方案,旨在打击日益复杂的新一代金融犯罪

全新合作伙伴关系融合Sutherland的AI原生金融犯罪合规专业能力与ComplyAdvantage的Mesh风险智能平台,打造集成化、模块化的AI驱动生态系统,覆盖欺诈防控、反洗钱、风险管控和交易监控四大场景。 全球业务与数字转型领军企业Sutherland今日宣布&#xff…

作者头像 李华
网站建设 2026/5/8 22:05:04

金仓数据库KingbaseES:从兼容到超越,打造企业级数据库新标杆

兼容是对企业历史投资的尊重是确保业务平稳过渡的基石然而这仅仅是故事的起点在数字化转型的深水区,企业对数据库的需求早已超越“语法兼容”的基础诉求。无论是核心业务系统的稳定运行,还是敏感数据的安全防护,亦或是复杂场景下的性能优化&a…

作者头像 李华
网站建设 2026/5/8 22:04:26

关于AI工具实战测评的技术

AI工具实战测评框架设计测评AI工具需要从多个维度展开,包括功能实用性、性能表现、易用性、适用场景等。以下为技术测评的核心框架和具体方法。功能覆盖与核心能力测试AI工具的核心功能是否与宣传一致。例如自然语言处理工具需验证文本生成、翻译、摘要等能力&#…

作者头像 李华