平衡树

✍ dations ◷ 2025-04-26 01:32:46 #数据结构,树结构

平衡树是计算机科学中的一类数据结构,为改进的二叉查找树。一般的二叉查找树的查询复杂度取决于目标结点到树根的距离(即深度),因此当结点的深度普遍较大时,查询的均摊复杂度会上升。为了实现更高效的查询,产生了平衡树。

在这里,平衡指所有叶子的深度趋于平衡,更广义的是指在树上所有可能查找的均摊复杂度偏低。

旋转(Rotate):几乎所有平衡树的操作都基于树旋转操作(也有部分基于重构,如替罪羊树),通过旋转操作可以使得树趋于平衡。对一棵查找树(search tree)进行查询、新增、删除等动作,所花的时间与树的高度h成比例,并不与树的容量 n 成比例。如果可以让树维持平衡,也就是让h维持在 O ( log n ) {\displaystyle O(\log {n})} ,且最大的数。

查询后继(successor):后继定义为大于,且最小的数。

在维护节点大小(size)后,可以支持以下操作:

查询排名(rank):排名定义为比x小的数的个数加一。

查询第k大:即排名为的数。

以下数据结构支持平衡树大多数操作,但实现有根本不同:

用于表示有序的线性数据结构,如优先队列、关联数组、键(key)-值(value)的映射等。自平衡的二叉查找树与哈希表的相比,各有优缺。平衡树在按序遍历所有键值时是量级最优的,哈希表不能。自平衡二叉查找树在查找一个键值时,最坏情况下时间复杂度优于哈希表, O ( log n ) {\displaystyle O(\log n)} 对比 O ( n ) {\displaystyle O(n)} ;但平均时间复杂度逊于hash表, O ( log n ) {\displaystyle O(\log n)} 对比 O ( 1 ) {\displaystyle O(1)}

平衡树的排序方法,虽然在平均时间复杂度上也是 O ( n log n ) {\displaystyle O(n\log n)} ,但由于cache性能、树的调整操作等,性能上不如快速排序、堆排序、归并排序等同为 O ( n log n ) {\displaystyle O(n\log n)} 复杂度的排序。

相关

  • 宫内窘迫胎儿窘迫(fetal distress),是胎儿宫内缺氧的医学上统称,是一种综合症状。当胎儿的心跳变慢,并且于子宫收缩后保持缓慢,这表示婴儿无法得到足够的氧气。此情况并非罕见,根据医学研究
  • 维尔纳·索米维尔纳·爱德华·“沃恩”·索米(英语:Verner Edward "Vern" Suomi,1915年-1995年7月30日),美国气象学家、发明家和教育家,被誉为“气象卫星之父”。索米是自旋扫描辐射计(Spin Scan
  • 联邦直辖市联邦直辖市是俄罗斯的联邦主体的一种。俄罗斯联邦到2014年为止共分为85个联邦主体,其中三个是联邦直辖市。但三个直辖市中的塞瓦斯托波尔市未被国际普遍承认为俄罗斯领土。
  • 汐止坐标:25°03′57″N 121°37′48″E / 25.0658015°N 121.6299733°E / 25.0658015; 121.6299733汐止区 ,是中华民国新北市的市辖区,属于台北都会区的卫星都市;1999年6月28日因
  • 加拿大加式足球联赛多伦多淘金人(英语:Toronto Argonauts) (17)(总冠军数(1909年首届格雷杯赛事起))加拿大加式足球联盟(英文:Canadian Football League/CFL;法文:Ligue canadienne de football/LCF),简称全
  • 玻璃梭鲈玻璃梭鲈为辐鳍鱼纲鲈形目鲈亚目河鲈科的其中一种,分布于加拿大、美国北极圈、圣罗伦斯河、五大湖、密西西比河等流域,体长可达107公分,栖息在水质较为混浊的湖泊、溪流、水塘,
  • 农民工1999年规定:印章直径5厘米,中央刊五角星,由国务院制发。国务院农民工工作领导小组,是中华人民共和国国务院成立的国务院议事协调机构,负责农民工工作。2006年3月31日,《国务院关于
  • 军事政府军事政府(英语:Military government),由军队进行统治的政府,其所存在的政体称为军政。军事政府可能是源自于军事占领,或是军事独裁。军事占领是一种由外国军队进驻,执行政府功能的
  • 佩特里·福塞尔佩特里·福塞尔(芬兰语:Petteri Forsell;1990年10月16日-)是一位芬兰足球运动员。在场上的位置是攻击型中场。他现在效力于芬兰足球超级联赛球队玛丽港。他也代表芬兰国家足球队
  • 2013年土耳其反政府抗议运动反政府抗议者(最初是环保主义者) 土耳其抗议者:政府人士:50,000人以上(Istanbul) 20,000(安卡拉)2013年土耳其抗议运动是从2013年5月28日在土耳其发生至今的抗议运动,被抗议者称为