树堆

✍ dations ◷ 2025-10-29 06:52:14 #树结构

树堆(英语:Treap),是有一个随机附加域满足堆的性质的二叉搜索树,其结构相当于以随机数据插入的二叉搜索树。其基本操作的期望时间复杂度为 O ( log n ) {\displaystyle O(\log {n})} 。相对于其他的平衡二叉搜索树,Treap的特点是实现简单,且能基本实现随机平衡的结构。

Treap=Tree+Heap。Treap本身是一棵二叉搜索树,它的左子树和右子树也分别是一个Treap,和一般的二叉搜索树不同的是,Treap纪录一个额外的数据,就是优先级。Treap在以关键码构成二叉搜索树的同时,还满足堆的性质。Treap维护堆性质的方法用到了旋转,只需要两种旋转,编程复杂度比Splay要小一些。

给节点随机分配一个优先级,先和二叉搜索树的插入一样,先把要插入的点插入到一个叶子上,然后跟维护堆一样,如果当前节点的优先级比根大就旋转,如果当前节点是根的左儿子就右旋如果当前节点是根的右儿子就左旋。

由于旋转是 O ( 1 ) {\displaystyle O(1)} 的,最多进行h次(h是树的高度),插入的复杂度是 O ( h ) {\displaystyle O(h)} 的,在期望情况下 h = O ( log n ) {\displaystyle h=O(\log {n})} ,所以它的期望复杂度是 O ( log n ) {\displaystyle O(\log {n})}

因为Treap满足堆性质,所以只需要把要删除的节点旋转到叶节点上,然后直接删除就可以了。具体的方法就是每次找到优先级最大的儿子,向与其相反的方向旋转,直到那个节点被旋转到了叶节点,然后直接删除。

删除最多进行 O ( h ) {\displaystyle O(h)} 次旋转,期望复杂度是 O ( log n ) {\displaystyle O(\log {n})}

和一般的二叉搜索树一样,但是由于Treap的随机化结构,Treap中查找的期望复杂度是 O ( log n ) {\displaystyle O(\log {n})}

二叉搜索树有一个特性,就是每个子树的形态在优先级唯一确定的情况下都是唯一的,不受其他因素影响,也就是说,左子树的形态与树中大于根节点的值无关,右子树亦然。这是因为Treap满足堆的性质,Treap的根节点是优先级最大的那个节点,考虑它的左子树,树根也是子树里面最大的一点,右子树亦然。所以Treap相当于先把所有节点按照优先级排序,然后插入,实质上就相当于以随机顺序创建的二叉搜索树,只不过它并不需要一次读入所有数据,可以一个一个地插入。而当这个随机顺序确定的时候,这个树是唯一的。因此在给定优先级的情况下,只要是用符合要求的操作,通过任何方式得出的Treap都是一样的,所以不改变优先级的情况下,特殊的操作不会造成Treap结构的退化。而改变优先级可能会使Treap变得不够随机以致退化。

Treap的其它操作的期望复杂度同样是 O ( log n ) {\displaystyle O(\log {n})}

相关

  • 腺病毒科腺病毒科(Adenoviridae)是一种中型大小的病毒,约90-100nm大,是一种无外套膜的二十面体双股DNA病毒,有核衣壳。腺病毒有四属:腺病毒主要感染多种脊椎动物,当中包括人类。腺病毒于195
  • FeI碘化铁(I)是一种无机化合物,化学式为FeI。碘化铁(I)不稳定,可以通过Fe(CO)2I的热分解得到。在高压(123~360 GPa)下,它的空间群为P1,晶胞参数a=4.257, b=4.256, c=4.262, α=100.9
  • 英国城市列表英国城市列表列出英国各城市(City)。由英国君主赐予城市地位(City status)的地方才可称为“城市”。直至2016年,英国共有69座城市,英格兰占其51,北爱尔兰占其5,苏格兰占其7,威尔士占
  • 麦角灵麦角灵是一种化合物,其结构骨架被包含在一个多种多样化的生物碱里。 麦角灵衍生物在临床上用于血管收缩(5-HT受体(英语:5-HT1 receptor)激动剂,麦角胺)的目的,用于偏头痛的治疗和减
  • 让-巴普蒂斯特·拉马克让-巴蒂斯特·皮埃尔·安托万·德·莫奈,德拉马克骑士(Jean-Baptiste Pierre Antoine de Monet, Chevalier de Lamarck,1744年8月1日-1829年12月18日),法国博物学家,他最先提出生物
  • 长野县第5区长野县第5区是日本众议院的选区,设立于1994年。北海道 13 | 山形县 4 | 静冈县 9 | 岛根县 3 | 大分县 4福井县 3 | 山梨县 3 | 德岛县 3 | 高知县 3 | 佐贺县 3青森县 4 |
  • 马来西亚发电厂列表所有坐标的地图 - OSM 所有坐标的地图 - Google 所有上至200个坐标的地图 - Bing此列表为列出马来西亚境内各座私有或公有的发电厂列表。不可再生能源之发电厂主要以燃烧燃
  • 维拉无源跟踪系统维拉无源跟踪系统 又称维拉雷达(捷语: Pasivní radilokátor Věra)是一种战略及战术电子情报和被动监视系统,用于对空中、地面和海上(舰艇)目标的探测、定位、识别和跟踪。它
  • 县 (伊朗)县 (波斯语: شهرستان shahrestān),为伊朗省份之下所设的区划单位,为伊朗行政区划体系中的第2级行政区划。截至2005年,伊朗全国有324个县。法尔斯省辖有23个县,为全国辖
  • 孙向文孙向文(1983年-),中国漫画家,出生浙江杭州,现旅居日本,靠画漫画和做杂志专栏维生。著作从历史到当代,从社会、军事、文化、政治、经济多方面负面描述中华人民共和国。2016年7月16日,