平衡树

✍ dations ◷ 2025-11-29 06:36: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)} 复杂度的排序。

相关

  • 内隐态度内隐态度(Implicit attitude)是个体对事物所持的积极或消极的认知、情感或反应,由不自觉的以往经验归因于以往某一确定经验所引起。认知心理学和社会心理学中常用的内隐态度的
  • 580110 数学 120 信息科学与系统科学 130 力学 140 物理学 150 化学 160 天文学 170 地球科学 180 生物学210 农学 220 林学 230 畜牧、兽医科学 240 水产学310 
  • 挥发挥发性,在化学、物理和热力学的领域中,是指物质汽化的程度。在某一温度下,蒸气压越高的物质越容易汽化,也就是挥发性越高。挥发性通常用来指液体,但也可用来描述一些不须经过液态
  • 联合舰队司令长官联合舰队司令长官(又名:连合舰队司令长官)是大日本帝国海军的外战部队联合舰队的指挥官。为亲任官(亲补职),中将以上的舰队司令长官经镇守府长官向海军大臣推荐,由日本天皇任命。最
  • 电战机电子作战机(简称电战机)是专门执行电子战的军用飞机,主要有电子侦察机、电战支援机、电子干扰机等不同类型,电战机的研制与生产需要非常高的技术,目前仅有少数先进国家能自制。电
  • 双五角锥在几何学中,双五角锥是指以五边形做为底的双锥体,其为五角柱的对偶。所有双五角锥都有10个面,15个边和7个顶点。所有双五角锥都是十面体。若一个双五角锥的基底为正五边形则可
  • 陵川县陵川县是中国山西省晋城市所辖的一个县。总面积为1751平方公里,2010年第六次全国人口普查人口为23万人,同比2000年人口减少7.37%。战国属韩,秦代属上党郡高都县。两汉属泫氏县,
  • 卡尼 (亚利桑那州)卡尼(英文:Kearny),是美国亚利桑那州皮纳尔县下属的一座城市。 面积约为2.81平方英里(约合7.3平方公里)。根据2010年美国人口普查,该市有人口1,950人,人口密度为706/平方英里。在建
  • 赵声赵声(1881年3月16日-1911年5月18日),原名毓声,字伯先。江苏省镇江市丹徒人,光复会成员,中国近代民族革命运动先驱。著有《保国歌》。赵声父亲赵蓉曾,夫人严承志,弟赵念伯、赵光,妹赵芬
  • 王石鹏王石鹏(1877年-1942年)。字箴盘,号了庵,台湾新竹人。精通汉文、台语、日语,工汉诗、能书法,尤善隶书、小篆,偶刻印。幼读八股文,后因进入台湾日治时期而中辍科举之心,当时名士,与谢介石