平衡树

✍ dations ◷ 2025-11-18 19:08: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)} 复杂度的排序。

相关

  • 秋信守秋信守(朝鲜语:추신수/秋信守、Shin-Soo Choo,1982年7月13日-),在韩国昵称为“辣椒”(因球迷对秋信守欢呼时喊著“Go Choo!”的呼号,音似韩文的辣椒(고추)),出生于韩国的釜山广域市,现为
  • 半长轴半长轴是几何学中的名词,用来描述椭圆和双曲线的维度。与之对应的就是长轴,半长轴为长轴的一半,一般描述椭圆的最长的直径。一个椭圆的长轴是内部最长的直径,他会通过中心和两个
  • 韩俄关系俄韩关系(俄语:Российско-южнокорейские отношения、韩语:한러 관계),泛指大韩民国与俄罗斯的双边关系,包含历史上的不同时期。韩国过去曾为俄日
  • 收益投资回报率(return on investment,简称 ROI),经济学名词,指投资后所得的收益与成本间的百分比率。投资回报率一般可分为总回报率(持有期间回报率)和年回报率。总回报率是不论资金
  • 日侨日侨(日语:日系人/にっけいじん)指的是已移居海外,并取得当地国籍或永久居留权,具有日本血统的侨民。现在估计大约有350万人(也包括混血)。在日本居住的日侨被称为归国日侨(在日日系
  • 威廉·勒巴隆·詹尼威廉·勒巴隆·詹尼(William Le Baron Jenne,1832年-1907年),美国建筑师与工程师,被称为“摩天楼之父”。1832年9月25日,他出生于马萨诸塞州的Fairhaven。詹尼于巴黎修习工程学与建
  • 八氧化三镎八氧化三镎是一种镎的氧化物,有放射性。八氧化三镎在500℃以上分解,并放出氧气,产生二氧化镎:
  • 莎斯姬亚·伦勃朗莎斯姬亚·凡·优伦堡(荷兰语:Saskia van Uylenburgh,1612年8月2日-1642年6月14日),是荷兰画家伦勃朗的妻子,她曾在一些著名的油画作品中担当模特。莎斯姬亚出生在吕伐登,她是八个孩
  • 鲍沃沙德·格利高里·莫斯(英语:Shad Gregory Moss,1987年3月9日-),是美国的说唱歌手和演员。他在13岁时便发行了出道专辑《Beware of Dog》,之后以小鲍沃(Lil' Bow Wow)作为艺名从事演出
  • 镜子之家《镜子之家》是三岛由纪夫于1959年创作的长篇小说。小说主要讲述女主人公镜子及其四名青年好友。五位主角构成了五条故事线,都叙述了他们厌恶世俗,守护自身价值并失败的故事。