平衡树

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

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

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

旋转(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个部首中的第一百六十八个(八划的则为第二个)。就正体中文中,长部归于八划部首,而简体中文则归在四划。长部只以左方为部字。且无其他部
  • 法式长棍面包法式长棍面包(法语:baguette,法语发音:.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libertine","Segoe UI","Lucida Sans Unicode","Code2000","Gent
  • 贝塞斯达贝塞斯达(Bethesda)是位于美国马里兰州蒙哥马利县的一个未成建制的自然聚居区,人口55,277(2000年),其中白人占85.86%、亚裔美国人占7.92%、非裔美国人占2.67%。华盛顿地铁红线在此
  • 有蹄类有蹄类是指几类使用趾尖(一般都有蹄)来支撑身体的哺乳动物。它们共有几个目,当中有奇蹄目和鲸偶蹄目仍然生存。有蹄类是一个支序分类学的分支,或只是一个分类单元仍存有争议,因为
  • 筑摩书房筑摩书房(日语:筑摩書房/ちくましょぼう Chikuma shobō)是日本的一家大型出版社,创始人是古田晁。其总部位于日本东京都台东区蔵前二丁目5番3号,建立时间是1940年(昭和15年)6月18
  • 巴贡水坝巴贡水电站位于马来西亚砂拉越州加帛省巫拉甲(Belaga)的拉让江支流巴鲁伊河,装机240万千瓦,是马来西亚最大的水坝,也是世界第43高混凝土面板堆石坝。电站主体土建工程由中国水电
  • 加勒比海航空883号班机空难加勒比海航空883号班机是一经古巴圣地亚哥,自海地太子港飞往古巴哈瓦那的国际定期航线。2010年11月4日,该班机以ATR 72执行航班时,在圣斯皮里图斯省坠毁,61位乘客和7名机组人员
  • 震中震中(英语:Epicenter),台湾称震央,是指地震发生时,地震震源向上垂直投影到地面的位置。地震的命名方法一般以震中所在地较为人熟悉的邻近地名为主,如台湾921集集大地震,因集集靠近震
  • 带斑丽沫蝉带斑丽沫蝉(学名:),又名“小红斑沫蝉”、“斑带丽沫蝉”,分布于中国大陆南方、台湾、越南、老挝、柬埔寨、泰国、缅甸、印度、锡金、马来西亚等地。寄主有桑、桃、茶、咖啡、三叶
  • 总统特种师总统特种师,是由扎伊尔共和国总统蒙博托·塞塞·塞科于1985年创建的精锐军事力量并负责他的人身安全,人数由5000-10000人。在1986年被扩大之前被称为总统特别旅。在以色列顾问