平衡树

✍ dations ◷ 2025-05-19 11:43:43 #数据结构,树结构

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

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

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

相关

  • 静息电位静息电位,或称静态电位、静止电位、静止膜电位、休息电位、休息膜电位(英文:resting potential),是神经元处于相对静止状态时,细胞膜内外存在的恒定电位差。其主要成因源于钠钾
  • 古典希腊语古希腊语(古希腊语:Ἑλληνικὴ γλῶττα) 指代公元前9世纪至公元6世纪所有以口头及书面为载体的古希腊语族的方言,时间上包括公元前9世纪至公元前6世纪的古风时期,公元
  • 二氯苯基二甲脲二氯苯基二甲脲 (3-(3,4-dichlorophenyl)-1,1-dimethylurea,DCMU) 是一种抑制光合作用的除草剂,由拜耳公司于1954年发明,商品名敌草隆(Diuron)。DCMU是一种非常特殊且敏感的光
  • 凤凰寺凤凰寺为中国东南沿海伊斯兰教四大清真古寺之一(另三处为扬州仙鹤寺、泉州清净寺和广州怀圣寺),位于浙江省杭州市上城区中山中路西侧223号。该寺约始建于唐或宋,原名真教寺,宋末
  • 五复合正八面体在几何学中,五复合正八面体(英语:Compound of five octahedra,又称为Octahedron 5-Compound),是一种凹多面体,属于星形多面体。这可以被看作是多面体和星形多面体的复合体。埃德蒙
  • 国家恐怖主义国家恐怖主义,由某个国家对其他国家,对外国国民或对自己国民进行的恐怖主义活动。这是一个颇具争议的词汇,因为如何定义恐怖主义本身在学术上及政治上就充满争议,宣告某个国家涉
  • 圣战军 (巴勒斯坦)1947–1948 Civil War in Mandatory Palestine(英语:1947–1948 Civil War in Mandatory Palestine) 1948以阿战争 圣战军(阿拉伯语:جيش الجهاد المقدس;)是1947–19
  • 父进程在计算机领域,父进程(英语:Parent Process)指已创建一个或多个子进程的进程。在UNIX里,除了进程0(即PID=0的交换进程,)以外的所有进程都是由其他进程使用系统调用fork创建的,这里调用
  • Start自选集《Start自选集》为孙燕姿的专辑,于2002年1月5日发行。除最后两首歌曲为广告代言,与创作歌曲《Someone》外,其他歌曲皆为自选翻唱。《Start自选集》发片仅一个月,台湾本地销量便
  • 曼努埃尔·德·法雅曼努埃尔·德·法雅-马特乌(西班牙语:Manuel de Falla y Matheu,1876年11月23日-1946年11月14日),又译法里雅、法拉、法利亚,是一位西班牙古典音乐作曲家。法雅生于西班牙西南部的