AVL树

✍ dations ◷ 2025-12-06 22:58:24 #树结构

在计算机科学中,AVL树是最早被发明的自平衡二叉查找树。在AVL树中,任一节点对应的两棵子树的最大高度差为1,因此它也被称为高度平衡树。查找、插入和删除在平均和最坏情况下的时间复杂度都是 O ( log n ) {\displaystyle O(\log {n})} 个节点被旋转,而每次AVL旋转耗费固定的时间,所以删除处理在整体上耗费O(log ) 时间。

可以像普通二叉查找树一样的进行,所以耗费O(log )时间,因为AVL树总是保持平衡的。不需要特殊的准备,树的结构不会由于查找而改变。(这是与伸展树搜索相对立的,它会因为搜索而变更树结构。)

假设平衡因子是左子树的高度减去右子树的高度所得到的值,又假设由于在二叉排序树上插入节点而失去平衡的最小子树根节点的指针为a(即a是离插入点最近,且平衡因子绝对值超过1的祖先节点),则失去平衡后进行的规律可归纳为下列四种情况:

在平衡的二叉排序树BBST (Balancing Binary Search Tree)上插入一个新的数据元素e的递归算法可描述如下:

AVL树的调平(Erlang的实现)

 1 balance(null) -> null; 2 balance({null, _, null}=Tree) -> Tree; 3 balance({Left, Value, Right}=Tree) -> 4 	Diff = count(Left)-count(Right), 5 	if (Diff < 2) and (Diff > -2)	->	{balance(Left), Value, balance(Right)}; 6 	   (Diff > 1)				->	balance(rotate_right(Tree)); 7 	   (Diff< -1)				->	balance(rotate_left(Tree)); 8 	   true					->	exit('This is impossible!') 9 	end.10 11 rotate_right({Left, Value, Right}) ->12 	merge_max(Left, {null, Value, Right}).13 14 rotate_left({Left, Value, Right}) ->15 	merge_min(Right, {Left, Value, null}).16 17 merge_min({null, Value, Right}, Tree2) ->18 	{Tree2, Value, Right};19 merge_min({Left, _, _}, Tree2) ->20 	merge_min(Left, Tree2).21 22 merge_max({Left , Value, null}, Tree2) ->23 	{Left, Value, Tree2};24 merge_max({_, _, Right}, Tree2) ->25 	merge_max(Right, Tree2).

AVL节点数计算

高度为h的AVL树,总节点数N最多 2 h 1 {\displaystyle 2^{h}-1} ; 最少节点数 N h {\displaystyle N_{h}} 如以斐波那契数列可以用数学归纳法证明:
N h {\displaystyle N_{h}} = F h + 2 {\displaystyle F_{h+2}} - 1 ( F h + 2 {\displaystyle F_{h+2}} 是斐波那契数列的第h+2项,根据斐波那契多项式得来)。
即:
N 0 {\displaystyle N_{0}} = 0 (表示AVL Tree高度为0的节点总数)
N 1 {\displaystyle N_{1}} = 1 (表示AVL Tree高度为1的节点总数)
N 2 {\displaystyle N_{2}} = 2 (表示AVL Tree高度为2的节点总数)
N h {\displaystyle N_{h}} = N h 1 {\displaystyle N_{h-1}} + N h 2 {\displaystyle N_{h-2}} + 1 (表示AVL Tree高度为h的节点总数)
换句话说,当节点数为N时,高度h最多为 l o g Φ ( 5 ( N + 1 ) ) 2 {\displaystyle log_{\Phi }({\sqrt {5}}*(N+1))-2}

相关

  • 脂肪脂肪是室温下呈固态的油脂(室温下呈液态的油脂称作油),多来源于人和动物体内的脂肪组织,是一种羧酸酯,由碳、氢、氧三种元素组成。与糖类不同,脂肪所含的碳、氢的比例较高,而氧的比
  • 凌汛凌汛,俗称冰排,是有结冰期的河流常见的一种自然现象,是冰凌对水流产生阻力而引起的江河水位明显上涨的水文现象。冰凌有时可以聚集成冰塞或冰坝,造成水位大幅度抬高,最终漫滩或决
  • 麦格劳-希尔集团标普全球股份有限公司(英语:S&P Global Inc.),曾在2016年前用名“麦格劳·希尔金融股份有限公司(McGraw Hill Financial, Inc.)”和在2013年前用名“麦格劳·希尔集团(McGraw Hill
  • 禁门之变禁门之变(日语:禁門の変)是日本江户时代末期元治元年(旧历)7月19日(1864年8月20日)的事变,也称为蛤御门之变。长州藩借着“藩主冤罪向帝申诉”的名义出兵到京都,会津藩、桑名藩及萨摩
  • 4G第四代移动通信技术(英语:The fourth generation of mobile phone mobile communication technology standards,缩写为4G),是3G之后的延伸。从技术标准的角度看,按照ITU的定义,静态
  • 北京工商大学北京工商大学(Beijing Technology and Business University),简称北工商,由原北京商学院、北京轻工业学院以及机械工业学院合并成立的北京市重点大学。学校现有教职工1525人。学
  • 五眼联盟五眼(英语:Five Eyes,缩写为 FVEY),又译为五眼联盟,一个语言以英语为主的国家的情报联盟,在英美协定下组成的国际情报分享团体,成员包括澳大利亚、加拿大、新西兰、英国和美国五国。
  • 11族元素固体、液体、气体11族元素(常称铜族元素)是指元素周期表上第11族(ⅠB族)的元素,位于10族元素和12族元素之间。11族元素包含铜(Cu)、银(Ag)、金(Au)、�(Rg),均为过渡金属元素,其中�为人造元素,
  • 明日花绮罗明日花绮罗(日语:明日花キララ,1988年10月2日-),日本前著名的AV女优、歌手,出生于日本北海道,东京都出身。曾为女优团体“惠比寿麝香葡萄1.5”队长。也曾是“Prestige”和“H.M.P”
  • 阿朱那-维利朗火山阿朱那-维利朗火山(印尼语:Arjuno-Welirang)是一座位于印度尼西亚爪哇岛上的双子火山,由阿朱那山与维利朗山组成,两座山相距仅6千米(3.7英里),类型属复式火山,其位于东爪哇省,火山周围