平衡树

✍ dations ◷ 2025-04-03 12:36:21 #数据结构,树结构

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

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

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

相关

  • 商务旅游参数所指定的目标页面不存在,建议更正成存在页面或直接建立下列一个页面(建立前请先搜寻是否有合适的存在页面可以取代):商务旅行 (business travel)又称 公干、出差 等。 是旅游
  • 基因拼接剪接(英语:splicing,又称拼接),是一种基因重组现象,在分子生物学中,主要是指细胞核内基因信息在转录过程中或是在转录过后的一种修饰,即将内含子移除及合并外显子——内含子与外显子
  • Oakland, CA奥克兰(英语:Oakland),当地华人及粤语常称屋仑,英语意为“橡树之地”,俗称“奥克城(Oaktown)”是美国加利福尼亚州北部旧金山湾沿岸的主要城市,也是阿拉米达县县治所在。奥克兰和柏克
  • 李家钰李家钰(1892年4月25日-1944年5月21日),字其相,四川省蒲江县大兴乡窗子坝村人,清光绪十八年三月二十九日(1892年4月25日)生,中华民国军人。他为中日战争期间阵亡的中国军方军衔最高的
  • 京师同文馆京师同文馆,清末自强运动期间中国政府官办的外语人才学校,以教授西方语言为主的官办教育机构,也是中国近代最早成立的新式教育机构。京师同文馆成立于1862年8月24日,1900年停办,1
  • 康平县康平县是辽宁省沈阳市下辖的一个县。 康平县位于辽宁省最北部,属沈阳市辖县。全县区域面积2175平方公里。地理位置处于北纬 42 ° 31 ',至 43 ° 02 ',东经 122 ° 45 ',至 123 °
  • 王祯王祯可以是下列人物:
  • 钮先锺钮先锺(1913年7月-2004年2月7日),台湾军事学者,生于江西九江。有笔名万仞、强安平、一厂等,其中“万仞”是效法并期望超越军事思想家蒋百里。1913年,钮先锺出生于江西。1930年进入
  • 太平花太平花()是山茱萸目绣球花科山梅花属的一种植物。落叶灌木,喜光而耐寒,高2~3米。卵形的叶子对生,缘疏生锯齿,基出3~5大脉,两面无毛。夏季开乳白色花,5~9朵成总状花序;微有芳香;暗黄绿色
  • 韩国电影制作人协会奖韩国电影制作人协会奖(朝鲜语:한국영화제작가협회상)是由韩国电影制作人协会(朝鲜语:한국영화제작가협회)自2014年起举办的韩国电影颁奖典礼。年份:2014年 举行日期:12月23日 地点:首