平衡树

✍ dations ◷ 2025-07-09 15:53:42 #数据结构,树结构

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

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

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

相关

  • 连接组学连接组学(Connectomics)绘制与研究神经连接组(connectome):这是一种刻画有机体神经系统(尤其是脑和眼)的连接方式的完整线路图。由于这些结构极其复杂,高效筛选的神经成像和组织学方
  • span class=nowrapSrClsub2/sub/span氯化锶(SrCl2)是锶和氯的盐。这是一种典型的盐,水溶液为中性。与其他锶化合物类似,氯化锶在火焰下呈红色,因此它被用于制造红色烟火。其化学性质介于氯化钡(毒性更强)和氯化钙间。
  • 空军武官驻外武官,即外交代表机构(大使馆、领事馆)的武职专员(法语:Attaché)。多由陆海空三军种的校官或将官中选派,处理军事性业务,为使馆中专司国防的馆员,也是一国军队的驻外代表。驻外武
  • 山鹑中华鹧鸪(学名:Francolinus pintadeanus),又称中国鹧鸪、越雉、怀南。属鸡形目雉科鹧鸪属。鹧鸪头顶羽毛为黑色,有褐色及黄色斑,身体大多为黑色,有很多圆形白色斑点,下身的斑点较大
  • 前总统乌克兰总统(乌克兰语:Президент України,Prezydent Ukrayiny),是欧洲国家乌克兰的国家元首,对内是最高领导人行使政治权力和责任。对外代表乌克兰。人民公仆   
  • 德尔诺特德尔诺特县(Del Norte County)又译北县是美国加利福尼亚州的一个县,县治克雷森特城。根据美国人口调查局2000年统计,共有人口27,507,其中白人占78.86%、印第安人占6.43%、非裔美
  • 德国联邦宪法法院德国联邦宪法法院(德语:Bundesverfassungsgericht,简称BVerfG)是根据德国基本法特别设立的法院形式,该法院前身为1951年的西德宪法法院,1993年改制为联邦宪法法院。该法院与所有其
  • 杨翼骧杨翼骧(1918年-2003年),字子昂,斋名学忍堂,山东省金乡县鸡黍镇杨瓦屋村人,中国历史学家。其对秦汉史和魏晋南北朝史的研究尤为精熟。1918年生于一个知识分子家庭。祖父曾为私塾教师
  • 大卫·戴蒙德大卫·里奥·戴蒙德(英语:David Leo Diamond,1915年7月9日-2005年6月13日),犹太血统的美国作曲家。戴蒙德出生于美国纽约州罗切斯特的一个乌克兰犹太人移民家庭。曾在伊士曼音乐学
  • 霍普金斯山 (亚利桑那州)霍普金斯山(Mount Hopkins)是一个位于美国亚利桑那州圣克鲁斯县的山峰,属于圣塔瑞塔山脉的一部分。弗雷德·劳伦斯·惠普尔天文台位于这座山。霍普金斯山在科罗纳多国家森林范