平衡树

✍ dations ◷ 2025-11-08 13:47:10 #数据结构,树结构

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

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

旋转(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)} 复杂度的排序。

相关

  • 南森弗里乔夫·韦德尔-亚尔斯伯格·南森(挪威语:Fridtjof Wedel-Jarlsberg Nansen,1861年10月10日-1930年5月13日),挪威探险家、科学家、人道主义者和外交家。1922年,他因为担任国际联
  • 已灭绝植物列表本条目收录了古生代至新生代的已记录灭绝植物信息。注:表格中标有*中的物种为存在存疑物种表格中标有+中的物种为是否灭绝存疑物种AnnulariaSigillariaLepidodendronCalamite
  • 杉林杉林区(台湾客家语南四县腔:cam limˇ ki/cam naˇ kiˊ)位于台湾高雄市东北半叶西南部,北接甲仙区,东连六龟区,南接美浓区、旗山区,西邻内门区,西北连台南市南化区。清光绪27年以前,
  • 加的斯湾加的斯湾(西班牙语:Golfo de Cádiz)是大西洋的一个海湾,位于葡萄牙的圣维森特角与直布罗陀海峡西端的特拉法尔加角之间。在加的斯湾注入大西洋的有两条大河:瓜达尔基维尔河和瓜
  • 四草坐标:23°01′16″N 120°08′00″E / 23.021091°N 120.133395°E / 23.021091; 120.133395四草位于台湾台南市安南区,滨临台湾海峡,以明郑时期历史遗迹与生态的景点为著名。
  • 马克西米安马库斯·奥勒留·瓦勒里乌斯·马克西米安努斯·赫库里乌斯(Marcus Aurelius Valerius Maximianus Herculius,3世纪约250年-310年约7月),通称马克西米安(Maximian),罗马皇帝。285年任
  • 高昌礼高昌礼(1937年7月-),山东鱼台人,中华人民共和国政府官员,曾任中华人民共和国司法部部长。1937年出生于山东,1956年加入中国共产党,后于中国人民大学学习,1963年毕业。1986年起任山东
  • 社会羞辱社会羞辱(英语:Social stigma)又称为社会耻辱、社会羞耻或社会污名,是指在社会关系中基于个体特征而对某人的否定、不认同或不满。这些状况时常包括:不公正的待遇、疏远或排挤,并
  • 596工程596工程(中方内部代号“邱小姐”,美国中情局代号“Chic-1”)是中华人民共和国研制的第一颗原子弹,与1966年的第一颗装载核弹头导弹、1967年的第一颗氢弹、1970年的第一颗人造卫
  • 大量生产大量生产(德文:Massenproduktion、法文:Production en série、英文:Mass production)简称量产。因为大量生产有降低成本,提高效率的好处,量产之概念很早便在人类社会中出现。但量