平衡树

✍ dations ◷ 2025-11-15 16:27:17 #数据结构,树结构

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

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

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

相关

  • 铅酸蓄电池铅酸蓄电池,又称铅蓄电池,是蓄电池的一种,电极主要由铅制成,电解液是硫酸溶液的一种蓄电池。一般分为开口型电池及阀控型电池两种。前者需要定期注酸维护,后者为免维护型蓄电池。
  • 连弩连弩是一种古代的远射武器,改进自弩,共分两种。一种是能把箭连续不断射向敌人的连发式;另一种是能同时发射多支箭的多发式。连弩最早出自战国时代,而在西汉连弩已用于实战。属于
  • Journal of Geophysical Research地球物理研究期刊(Journal of Geophysical Research, JGR)是由美国地球物理联盟出版的同行评审地球物理学期刊,一年出版80期。该期刊包含与地球、太阳、太阳系相关的物理学、化
  • 高雄炼油厂高雄炼油厂是一间位于高雄市楠梓区半屏山麓、已停止生产的石油炼制厂,面积广达262公顷,曾有逾3,000名员工,乙烯年产量达40万公吨,为台湾中油公司过去最主要的石油炼制厂之一,主要
  • 元数据注册系统元数据注册系统,又称为元数据注册库,是指在一家组织机构当中,用来采取某种受控方法,存储和维护元数据定义的中枢部位。在一家组织机构内部或一群组织机构内部,每当必须协调一致地
  • 奥特拉峰奥特拉峰(意大利语:Ortles)是意大利北部奥特拉阿尔卑斯山脉中的一座山峰,为奥特拉山脉主峰,海拔3905米。第一次世界大战期间,奥特拉峰作为一处制高点被奥匈帝国军队占领。
  • 刺激刺激可以指:
  • 太阳系天体大小列表这是一张以逆序排列的太阳系天体半径列表。太阳、木星、土星在这张表里使用平均半径测量容积。大部分的球形天体如大行星,使用赤道半径。对于不规则天体,使用三个方向的轴进行
  • 星象仪《星象仪》(日语:プラネタリウム)是日本创作歌手大冢爱的第10张单曲。2005年9月21日由艾回发行。DVD版本也同时发售。由于该曲成为日本电视剧《流星花园》的配乐使其风靡,与《金
  • 爱德华·托尔曼爱德华·托尔曼(Edward Chace Tolman,1886年-1959年),美国心理学家、美国加州大学伯克利分校心理学教授,以研究行为心理学著称。1886年,爱德华·托尔曼出生在美国马萨诸塞州的西牛