普通的二叉搜索树可能会由于数据不平均、删除产生高度差等原因,使树倾向于不平衡生长,导致操作慢于O(NlogN)。

为应对此现象,将搜索、删除、插入的最坏时间也控制在O(NlogN)上,产生了平衡二叉树的概念。

一颗平衡二叉树的递归定义是:它的左右子树高度相差不超过1,且左右子树也都是平衡二叉树。

AVL树是最早被发明的平衡二叉树算法,通过每个节点维护高度信息,控制插入或删除时的高度差。

当某次操作后,左右子树的高度差大于或等于(一般是等于)2时,则通过一定的旋转操作使高度差恢复符合定义的状态。

具体代码书写中………………………………

最新文章

  1. ORA-06552: PL/SQL: Compilation unit analysis terminated ORA-06553: PLS-553: character set name is not recognized
  2. Docker搭建Java Web运行环境
  3. jQuery原型属性和方法总结
  4. Django~Models1
  5. 编写JS代码的“use strict”严格模式及代码压缩知识
  6. Java学习日记-1 设置Java环境变量等
  7. Android Studio常用插件
  8. 严重: Exception starting filter struts2 --Unable to load configuration
  9. poj 1083 Moving Tables_dp
  10. Linux(gnu)环境动态链接库的搜索路径
  11. “新浪UC”的后江湖时代------易名新浪SHOW重出江湖
  12. iOS 之 线性布局
  13. JS延时一秒执行
  14. IDEA+PHP+XDebug调试配置
  15. OpenCV中feature2D——BFMatcher和FlannBasedMatcher
  16. C#中as运算符
  17. Python操作Mysql数据库进阶篇——查询操作详解(一)
  18. Symbol在对象中的作用
  19. 解决Maven管理项目update Maven时,jre自动变为1.5
  20. kafka definitive guide - reading notes

热门文章

  1. Python-删除多级目录
  2. 算法基本概念及常用算法Python实现
  3. ES查询实例
  4. angular知识点(2)
  5. Coding and Paper Letter(十五)
  6. POI之下载模板(或各种文件)
  7. js中的函数应用
  8. C++走向远洋——27(项目三,时间类)
  9. sql -- update表子查询、多条件判断case when
  10. paddlepaddle目标检测之水果检测(yolov3_mobilenet_v1)