斜堆

✍ dations ◷ 2025-04-27 04:51:19 #堆,数据结构,树结构

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

斜堆合并操作的递归合并过程和左偏树完全一样。假设我们要合并 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

相关

  • 维伦多尔夫的维纳斯维伦多尔夫的维纳斯(Venus of Willendorf),一座11.1厘米(4又3/8英寸)高的女性小雕塑,1908年出土于考古学家约瑟夫·松鲍蒂(英语:Josef Szombathy)在奥地利的维伦多尔夫村(Willendorf)附
  • 吴江市吴江区是中国江苏省苏州市所辖的一个市辖区,位于江苏省东南部,全区总面积为1176.68平方公里(不包括所辖太湖水面)。区政府驻松陵镇。在撤市建区前,吴江为中国经济发达的县市之一,
  • 遵义市遵义市,古称播州,是中华人民共和国贵州省下辖的地级市,位于贵州省北部,为贵州省第二大城市。市境北临重庆市,东接铜仁市,东南界黔东南州,南邻贵阳市、黔南州,西南连毕节市,西毗四川省
  • 基进女性主义激进女权主义(英语:radical feminism),是女权主义的一个派别。其最基本的观点是:女性所受的压迫是剥削形式中最深刻的,且是其他各种压迫的基础。因此,激进女权主义试图找出使妇女摆
  • 大坪机场大坪机场是重庆唯一一座一座有计划但未能修建的机场,位于今重庆九龙坡区渝州宾馆。民国35年(1946年)4月28日,《陪都十年建设计划草案》草拟完成。在空运方面,提出“白市驿机场
  • 大米尔比施大米尔比施(德语:Großmürbisch)是奥地利布尔根兰州居辛县的一个市镇。总面积7.92平方公里,总人口262人,人口密度33人/平方公里(2002年)。
  • 我不怕《我不怕》(英语:),是美国歌手凯莉·克莱森的一首歌曲,收录于她的第5张录音室专辑《坚定不移》()中。歌曲的原名本为“What Doesn't Kill You (Stronger)”,歌曲于2012年1月17日由RC
  • 马森 (作家)马森(1932年10月3日-),华人戏剧家与小说家。1932年10月3日生于山东省齐河县。父亲马超群,母亲孙希然。少年时期曾于济南、北京、淡水、宜兰等地就读中学。毕业于国立台湾师范大学
  • 亡者卷轴在中世纪,亡者卷轴(拉丁语:rotulae mortuorum)指的是在一名神职人员去世后,传递在修道院之间的羊皮纸。 卷轴所经过的修道院会为其增添几行向已逝的神职人员致意的文本,如若没有余
  • 中国东川泥石流国际汽车越野赛中国东川泥石流国际汽车越野赛(International Dongchuan Debris Rally,IDDR)是在中国云南省昆明市东川区的泥石流河谷中举办的一项汽车越野拉力比赛,自2004年至2018年,已连续举办