斜堆

✍ dations ◷ 2024-12-23 08:34:41 #堆,数据结构,树结构

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

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

相关

  • 隔离检疫隔离检疫 是风险管理的一种设施。 当人类、动物、植物等,由一个地方进入另一个地方,为防带有传染病等,所以必须进行隔离检疫。本条目出自公有领域:Chisholm, Hugh (编). Quarant
  • 兴庆区兴庆区,即原城区或老城区,是中华人民共和国宁夏回族自治区银川市辖下的一个区,因西夏时期的兴庆府而得名。面积共757.6平方公里,人口约41万。银川市兴庆区,是该自治区的首府银川
  • 台湾高雄少年及家事法院少年法庭大楼:81167高雄市楠梓区兴楠路182号电话:07-3573511 家事法庭大楼:81167高雄市楠梓区常顺街89号台湾高雄少年及家事法院(简称高雄少家法院),是中华民国的第一审法院之一,
  • 西柏林西柏林(德语:West-Berlin;法语:Berlin-Ouest;英语:West Berlin)是对1949年到1990年间柏林西部地区的称呼。西柏林是自1945年二战结束后建立的英美法共同占领区,此地区在其存在期间行
  • 张家港市张家港市位于长江下游南岸,是中国江苏省苏州市代管县级市。张家港市其综合竞争力列2010年全国百强县(市)第一梯队,全市总面积998.48平方公里,2012年户籍总人口91.02万。张家港市
  • 涮涮锅涮涮锅或者呷哺呷哺(日语:しゃぶしゃぶ),是一种起源于日本的、以昆布柴鱼汤等为汤底的涮牛肉或者涮猪肉火锅,基本以神户和牛为主食、偶尔也有松阪猪。涮涮锅有时候所使用的汤底是
  • 泰德·索伦森泰德·索伦森(Theodore Chaikin "Ted" Sorensen,1928年5月8日-2010年10月31日,美国律师和作家,著名的演讲稿撰稿人,美国总统约翰·肯尼迪的主要演讲稿撰稿人,也是肯尼迪总统的亲密
  • 小行星8965小行星8965(8965 Citrinella)是一颗绕太阳运转的小行星,为主小行星带小行星。该小行星于1960年10月17日发现。小行星8965的轨道半长轴为3.1679495 UA,离心率为0.127。
  • 日本BS放送日本BS放送株式会社(日语:日本BS放送/にっぽんビーエスほうそう)是日本的卫星广播放送事业者其中之一。是株式会社必客家美楽(日语:ビックカメラ)的合并子公司。成立于1999年8月23
  • 拜占庭海军拜占庭海军组成拜占庭帝国的海军部队,直接继承自罗马海军,如同它所服务的拜占庭帝国继承自罗马帝国一样。但拜占庭海军比前辈发挥的作用更大。比起拜占庭海军,罗马海军面对的巨