平衡树

✍ dations ◷ 2025-12-01 22:49: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)} 复杂度的排序。

相关

  • 宇宙加速膨胀宇宙加速膨胀是宇宙的膨胀速度越来越快的现象。以天文学术语来说,就是宇宙标度因子  a ( t ) {\displays
  • 电解质失衡电解质在生物体的自平衡维持上相当的重要。电解质可调节心臓及神经机能、输送氧气、维持体液平衡(英语:fluid balance)及酸碱平衡等。电解质的不平衡可能因为以下原因而产生:过
  • 旭海号船坞登陆舰船坞容纳:3艘 LCAC气垫登陆艇或3艘 LCU通用登陆艇或9艘 LCM-8机械登陆艇或18艘 LCM-6机械登陆艇或50艘 LVPT-7两栖突击载具 甲板吊挂或停放:旭海号船坞登陆舰(LSD-193)为中华
  • 脊髓性肌肉萎缩症脊髓性肌肉萎缩症(英语:Spinal muscular atrophy,简写为SMA),是一种遗传性神经疾病。它会造成运动神经元退化、肌肉萎缩,肌肉无力,最终造成死亡。控制肌肉的运动神经里的某种蛋白质
  • 边境管制边境管制是国家或地区,进行管制或监察边境流量的措施。依世界各国通例,国际机场或港口之检查,系采C、I、Q制度:海关(Customs),负责货物进出口的管制及旅客行李及国际邮包的检查;移民
  • 全肺静脉回流异常全肺静脉回流异常(英语:Total Anomalous Pulmonary Venous Return,缩写:TAPVR)是种好发于刚出生婴幼儿的先天疾病,由于心房中膈缺损或者肺静脉未与左心房相接而造成心脏病。在人类
  • 阎其㥅阎其㥅(1850年-1919年),号玉轩,湖南石门县人氏。清朝军事将领,赐同武进士出身。光绪八年(1882年)壬午科武举人,光绪九年(1883年)癸未科武进士三甲第七名,钦点三等蓝翎侍卫,1896年到贵州安
  • 羽贺龙之介羽贺龙之介(Haga Ryunosuke,1991年4月28日-)是日本柔道运动员,曾获得2016年夏季奥林匹克运动会男子100公斤级柔道比赛铜牌。父亲羽贺善夫(日语:羽賀善夫)也是柔道运动员。
  • 9S《9S》是由日本作家叶山透所著的轻小说,前9卷由山本ヤマト绘制插画,第10卷开始由増田メグミ插画。于电击文库连载。目前已出版长篇11卷,短篇2集。中文繁体版由台湾角川、简体版
  • 贝尔纳贝·布斯凯诺贝尔纳贝·布斯凯诺(Bernabe Buscayno),曾用名“库曼德·丹特”(Kumander Dante,意为“被压迫者的保护者”),是菲律宾共产党领导的军事组织新人民军的创立者。生于丹辘省卡帕斯的一