【Weiss】【第04章】AVL树例程
2024-09-07 04:05:52
普通的二叉搜索树可能会由于数据不平均、删除产生高度差等原因,使树倾向于不平衡生长,导致操作慢于O(NlogN)。
为应对此现象,将搜索、删除、插入的最坏时间也控制在O(NlogN)上,产生了平衡二叉树的概念。
一颗平衡二叉树的递归定义是:它的左右子树高度相差不超过1,且左右子树也都是平衡二叉树。
AVL树是最早被发明的平衡二叉树算法,通过每个节点维护高度信息,控制插入或删除时的高度差。
当某次操作后,左右子树的高度差大于或等于(一般是等于)2时,则通过一定的旋转操作使高度差恢复符合定义的状态。
具体代码书写中………………………………
最新文章
- ORA-06552: PL/SQL: Compilation unit analysis terminated ORA-06553: PLS-553: character set name is not recognized
- Docker搭建Java Web运行环境
- jQuery原型属性和方法总结
- Django~Models1
- 编写JS代码的“use strict”严格模式及代码压缩知识
- Java学习日记-1 设置Java环境变量等
- Android Studio常用插件
- 严重: Exception starting filter struts2 --Unable to load configuration
- poj 1083 Moving Tables_dp
- Linux(gnu)环境动态链接库的搜索路径
- “新浪UC”的后江湖时代------易名新浪SHOW重出江湖
- iOS 之 线性布局
- JS延时一秒执行
- IDEA+PHP+XDebug调试配置
- OpenCV中feature2D——BFMatcher和FlannBasedMatcher
- C#中as运算符
- Python操作Mysql数据库进阶篇——查询操作详解(一)
- Symbol在对象中的作用
- 解决Maven管理项目update Maven时,jre自动变为1.5
- kafka definitive guide - reading notes