树堆

✍ dations ◷ 2025-04-04 06:52:21 #树结构

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

相关

  • 酒精发酵酒精发酵是指微生物通过发酵过程产出酒精的化学过程。酵母以及其它微生物经过发酵作用,反应物中的糖,如葡萄糖、果糖和蔗糖转化成能量、乙醇和二氧化碳,但根据反应物的不同,微生
  • 拉美西斯五世拉美西斯五世(英语:Ramesses V)古埃及新王国时期第二十王朝的第四任法老。(约公元前1149年—约公元前1145年在位),作为拉美西斯四世继承人,他在位期间阿蒙神祭司的势力日益增长。他
  • 四叠体四叠体(Corpora quadrigemina)是中脑的一个解剖结构。其拉丁文学名的字面意思为“四个双生子形的物体”,形容中脑背面的四个圆形隆起:两侧的下丘(Inferior colliculi,单数Inferior
  • 拷贝复制(英文:Copying;中文音译:拷贝)是将某事物通过某种方式制作成相同的一份或多份的行为。在中文里,台湾和港澳地区亦将英文中表示利用生物技术由无性生殖产生与原个体有完全相同
  • BL (和制英语)BL(和制英语Boy's Love的缩写),中文又称耽美,是描写男性间的恋爱的创作类型,包括anime、电子游戏、漫画、小说、Cosplay、广播剧CD等。一般专指日本或受日本影响的作品,而不包括源
  • 柯特克·安吉玛-托卡柯特克·阿米尔比托夫纳·安吉玛-托卡(Khertek Amyrbitovna Anchimaa-Toka,俄语:Хертек Амырбитовна Анчимаа-Тока,图瓦语:Анчимаа-Тока
  • 小阿尔克谢·盖尔曼小阿尔克谢·阿列克谢维奇·盖尔曼(俄语:Алексей Алексеевич Герман;1976年9月4日-)是俄罗斯电影导演。小阿尔克谢·盖尔曼的父亲为苏联电影工作者阿尔克
  • Redmi 8Redmi 8是小米科技旗下的子品牌Redmi(原红米手机系列)于2019年10月14日发布的智能手机系列,包含Redmi 8和Redmi 8A 两款机型。 该智能手机定位于“五星高品质入门机”。即通过
  • 隅岛隅岛(朝鲜语:우도/隅島  */?)是大韩民国西部海域中的一座岛屿,是西海五岛之一,行政区域上属于仁川广域市江华郡西岛面管辖。隅岛面积有0.21平方公里,在延坪岛以东25公里、北方界
  • 神佛分离神佛分离(日语:神仏分離/しんぶつぶんり )为日本明治时代前期所发生的一系列针对佛教的宗教事件,其目的在于将佛教与日本既有的神道信仰分离,打破传统日本社会“神佛习合”的格局