斜堆

✍ dations ◷ 2025-07-01 07:47:57 #堆,数据结构,树结构

斜堆是左偏树的一个变种。斜堆是一棵保持堆有序的二叉树,但是它不满足左偏性质,或者说斜堆根本就没有“距离”这个概念——它不需要记录任何一个节点的距离。从结构上来说,所有的左偏树都是斜堆,但反之不然。

斜堆合并操作的递归合并过程和左偏树完全一样。假设我们要合并 A 和 B两个斜堆,且 A 的根节点比 B 的根节点小,我们只需要把 A 的根节点作为合并后新斜堆的根节点,并将 A 的右子树与 B 合并。由于合并都是沿着最右路径进行的,经过合并之后,新斜堆的最右路径长度必然增加,这会影响下一次合并的效率。所以合并后,通过交换左右子树,使整棵树的最右路径长度非常小(这是启发规则)。然而斜堆不记录节点的距离,在操作时,从下往上,沿着合并的路径,在每个节点处都交换左右子树。通过不断交换左右子树,斜堆把最右路径甩向左边了。

举例。合并前:SkewHeapMerge1.svg


合并后SkewHeapMerge7.svg

举例:SkewHeapMerge1.svg

SkewHeapMerge2.svg

SkewHeapMerge3.svg

SkewHeapMerge4.svg

SkewHeapMerge5.svg

SkewHeapMerge6.svg

SkewHeapMerge7.svg

相关

  • 朝鲜日报《朝鲜日报》是韩国的主要报纸之一,以朝鲜语发行,每日发行量高达230万份。《朝鲜日报》创办于三一独立运动之后的1920年,是韩国历史最悠久的报纸之一。与《东亚日报》、《中央
  • 谬论谬误与谬论是不恰当的推理,一般而言谬误指不当的推理思路,而谬论指不当的推理言论,可能是说者有不当思路,或说者无不当思路,但意图使听者产生不当思路或其言论明显容易误导听者产
  • 喀尔巴阡山喀尔巴阡山脉(英语:Carpathians、捷克语:Karpaty、乌克兰语:Карпати、罗马尼亚语:Munții Carpați),绵延约1500公里,横跨中东欧,穿过捷克共和国、斯洛伐克、波兰、乌克兰和罗
  • PBY卡特琳娜水上飞机PBY卡特琳娜(英语:PBY Catalina)是美国团结飞机公司(Consolidated Aircraft Corporation)应1932年美国海军的海上巡逻机项目而开发的一款军用水上飞机,该型飞机是第二次世界大战期
  • 纽约州法院系统纽约州法院系统(Judiciary of New York、New York State Unified Court System)是指美国纽约州的州法院系统,总部位于州首府奥尔巴尼。其分为三级:州上诉法院(纽约上诉法院)、中间
  • 德国联邦最高劳工法院德国联邦最高劳工法院() 为德国境内关于劳工法案件的终审法院。包含了个别的劳工法律问题(大部分是与雇主间的契约问题)以及集体的劳工法律问题(像是罢工和集体谈判这类的问题)
  • 罗切罗切,指日本古代的一种阉割。江户时代的僧侣为了谢绝情欲,而想到自宫的办法。有记载的首先进行罗切的是1662年时,33岁的和尚了翁道觉。之所以称之为罗切,是因为梵语中称男子生殖
  • 夏洛特公主 (剑桥)女王陛下 爱丁堡公爵殿下剑桥夏洛特公主(英语:Princess Charlotte of Cambridge,2015年5月2日-),全名为夏洛特·伊丽莎白·戴安娜(Charlotte Elizabeth Diana),是剑桥公爵威廉王子与
  • 奥斯特罗维茨县坐标:50°56′N 21°24′E / 50.933°N 21.400°E / 50.933; 21.400奥斯特罗维茨县(波兰语:Powiat ostrowiecki),是波兰的县份,位于该国中部,由圣十字省负责管辖,首府设于圣十字地区
  • 盖希特峰坐标:47°27′57″N 10°38′22″E / 47.46583°N 10.63944°E / 47.46583; 10.63944盖希特峰(德语:Gaichtspitze),是奥地利的山峰,位于该国西部,由蒂罗尔州负责管辖,属于阿尔高阿尔