树堆

✍ dations ◷ 2025-09-13 09:20:15 #树结构

树堆(英语: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})}

相关

  • 伯克氏菌属等伯克氏菌属,或伯克氏菌,又译伯克霍尔德菌(学名:Burkholderia),是伯克氏菌科的一个属,这个属下最出名的有鼻疽伯克氏菌(B. mallei),是一种会在马或其他相关动物身上引起马鼻疽的病菌;
  • 童星童星是对从事演员、歌手、模特儿(儿童模特儿)及配音员等演艺工作的儿童之称呼。一般来说,是指未成年或15岁以下的艺人。跟一般演员不同,由于童星仍是儿童,仍在成长阶段。各地均对
  • 五唑五唑,又称五氮杂茂,是一种芳香性的环状化合物,可以看作环戊二烯中碳原子全部被氮原子取代的产物,环上有一个氮原子与氢原子相连。它的分子式为HN5。它的SMILES结构式是n1nnn1。
  • 战争纪念馆坐标:37°32′11″N 126°58′38″E / 37.5365°N 126.9771°E / 37.5365; 126.9771韩国战争纪念馆(전쟁기념관),是位于韩国首尔的国家级博物馆,为世上最大规模的战争主题纪念馆
  • 青岛出版社青岛出版集团为中华人民共和国的一家国有独资出版传媒集团,总部设于青岛市,前身为1987年成立的青岛出版社。1987年1月12日,青岛出版社成立,同年3月19日定位局级事业单位,加挂“青
  • 约翰·沃尔夫冈·冯·歌德约翰·沃尔夫冈·冯·歌德(,现在在科学上似乎不成立。他本人将色彩学视为他在自然科学方面的主要研究对象。从物理学的角度出发,他的色彩学研究缺乏科学性。但是20世纪最重要的
  • 詹姆士·W·布拉克詹姆士·怀特·布拉克爵士,OM,FRS,FRSE,FRCP(英语:Sir James Whyte Black,1924年6月14日-2010年3月22日),苏格兰药理学家,发明药物Propranolol和合成出Cimetidine。他因这些成就而在198
  • NHK静冈放送局NHK静冈放送局,是日本放送协会位于静冈县静冈市的地方放送局,也是负责主管当地事务的放送局。
  • 英国阿富汗战争英阿战争(英语:Anglo-Afghan War)是指英国与阿富汗两国于阿富汗国境内所发生的战争,英阿战争发生过三次,分别为:
  • 桑冈世界中心桑冈世界中心(Sangam World Centre,天城文:संगम)是世界女童军协会的4个国际中心之一。该中心坐落于印度马哈拉施特拉浦那的穆那河河岸旁,距离孟买有190公里远。本中心于1966