斜堆

✍ dations ◷ 2025-09-19 01:17:49 #堆,数据结构,树结构

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

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

相关

  • 逆转录病毒科逆转录病毒科(学名:Retroviridae)又称“反转录病毒科”,分为双链DNA逆转录病毒和正链RNA逆转录病毒。它们增殖时都有将遗传物质RNA逆转录为DNA的过程(前者逆转录反链RNA,后者逆转
  • 齿龈颤音齿龈颤音是辅音的一种类型, 在很多语言中使用,如俄语、藏语、西班牙语、亚美尼亚语和波兰语、意大利语、瑞典语、德语、阿拉伯语、挪威语、冰岛语、芬兰语、马来语、蒙古语、
  • 天祖祖先,又称祖亲、祖宗,是指辈分比自己高的直系血亲,与后代相反。然而,很多时候所指的祖先,通常都是最少隔几代,年代久远的则称为远祖。在很多父系社会,狭义的祖先一词只代指父亲那边
  • 哈伯定律在物理宇宙学里,哈勃–勒梅特定律(英语:Hubble-Lemaître law)指遥远星系的退行速度与它们和地球的距离成正比。这条定律原先称为哈勃定律(英语:Hubble's law),以证实者埃德温·哈勃
  • 拉尔·巴哈杜尔·夏斯特里拉尔·巴哈杜尔·夏斯特里(印地语:लालबहादुर शास्त्री,1904年10月2日-1966年1月11日),是一名印度政治家,印度国大党领袖,曾任印度第二任总理。他在19世纪的20年代
  • 巨杉巨杉国家森林(英语:Sequoia National Forest),也译作红杉国家森林、美洲杉国家森林,是座位于美国加利福尼亚州内华达山脉南的国家森林。该森林名自林区内大片大片的巨杉,在森林内
  • 吴郁生吴郁生(1854年-1940年),字蔚若,号钟斋、钝斋,晚号钝叟,江苏苏州人。清末重臣,1910年末代军机大臣。光绪三年(1877年)丁丑科进士;同年五月,改翰林院庶吉士。光绪六年四月,散馆后,授翰林院编
  • 前总统乌克兰总统(乌克兰语:Президент України,Prezydent Ukrayiny),是欧洲国家乌克兰的国家元首,对内是最高领导人行使政治权力和责任。对外代表乌克兰。人民公仆   
  • 轮叶珍珠茅轮叶珍珠茅(学名:)为莎草科珍珠茅属下的一个种。
  • 北大年苏丹国泰国中部:泰国北部:泰国南部:北大年苏丹国是15-18世纪马来半岛一个古国。明代张燮《东西洋考》称之为大泥。北大年苏丹国建国于1474年前后,1786年为暹罗所灭。北大年苏丹国的创