平衡树

✍ dations ◷ 2025-09-12 11:12:51 #数据结构,树结构

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

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

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

相关

  • 医疗医疗可以是指:
  • 羽部,为汉字索引中的部首之一,康熙字典214个部首中的第一百二十四个(六划的则为第七个)。就繁体和简体中文中,羽部归于六划部首。羽部从上、下、左、右方均为部字。且无其他部首
  • 贝母属贝母属(学名:Fritillaria)是百合科下的一个属,为多年生草本植物,又名莔(音“虻”)。该属共有85种,分布于北温带。
  • 吲哚瑞酯吲哚瑞酯(英语:Indorenate,TR-3369)是一种色胺衍生物,常作为5-HT1A(英语:5-HT1A receptor)、5-HT1B(英语:5-HT1B receptor)、5-HT2C(英语:5-HT2C receptor)等血清素受体的激动剂。它具有抗
  • 蛋白质减肥杜坎纤体法是一种盲从的饮食风潮(英语:fad diets)。其理论中的蛋白质减肥法是由法国医生和营养师皮埃尔·杜坎(Pierre Dukan)博士得出的结论。杜坎减肥瘦身法是以巩固蛋白质的摄
  • 恋孕妇癖恋孕妇癖(英语:Pregnancy fetishism、maiesiophilia、maieusophoria))是一种恋物癖形式,是指个人或文化将怀孕视为一种色情现象。这包括认为女性怀孕及怀孕的各种阶段(例如受精、
  • 林泰曾林泰曾(1851年-1894年),字凯仕,福建侯官县(今福州市区)人。清代北洋海军高级将领,为左翼总兵兼镇远舰管带。1894年中日黄海海战后,镇远号入港时触礁受损,林泰曾自认失职后服鸦片自杀。
  • 野吕田芳成野吕田芳成(日语:野呂田 芳成/のろた ほうせい ,1929年10月25日-2019年5月23日)是日本政治家。出生在秋田县能代市。野吕田芳成的党籍为自由民主党,曾当选1届参议院议员、8届众议
  • 正身旗人正身旗人是八旗制度中拥有独立户籍的群体,又称作“正户”(满语:ᠵᡳᠩᡴᡳᠨᡳ ᠪᠣᡳᡤᠣᠨ,转写:)。由于旗分佐领内的人皆为正户,故经常用来代指旗分佐领下人。不过,内务府包衣和
  • 中国大学排行榜中国大学排行榜是中国大陆一些咨询机构发布的大体上以各高校综合实力和依据的排名情况。比较著名的有武书连发布的《中国大学评价》等;此外还有武汉大学中国科学评价研究中心