最大—最小堆

✍ dations ◷ 2025-11-04 10:53:11 #数据结构,堆

最大—最小堆是最大层和最小层交替出现的二叉树,即最大层结点的子节点属于最小层,最小层结点的子节点属于最大层。以最大(小)层结n点为根结点的子树保有最大(小)堆性质:根结点的键值为该子树结点键值中最大(小)项。

最大堆和最小堆是二叉堆的两种形式。

而最大—最小堆集结了最大堆和最小堆的优点,这也是其名字的由来。

将节点插在二叉树的最后一个叶子结点位置,然后比较它与它父亲节点的大小:如果大则停止;如果小则交换位置,然后对父亲节点递归该过程直至根节点。复杂度为 O ( l o g ( n ) ) {\displaystyle O(log(n))}

一般来说,插入的位置可以不是最后一个叶子节点,可以作为任意中间节点的孩子节点插入,将这个叶子节点变为中间节点后,按上文所说的方法调整节点顺序以保证维持堆特性不变。

要从堆中删除一个节点,用最后一个节点替换掉要删除的节点,然后调整节点顺序以维持堆特性。

相关

  • 硫酸亚铁硫酸亚铁、硫酸铁(II)是化学式为FeSO4的无机化合物,最常使用的是它蓝绿色的七水合物。无水晶体的标准摩尔生成焓为ΔfH°solid = -928.4 kJ.mol-1,标准摩尔熵S°solid = 107.5
  • 盐酸左西替利嗪盐酸左西替利嗪(英语:Levocetirizine),又称:Xyzal、驱异乐。是第三代抗组织胺药,衍生自第二代抗组织胺药盐酸西替利嗪,为盐酸西替利嗪外消旋混合物的左对映异构体。盐酸左西替利嗪
  • 布里斯托布里斯托尔(Bristol)是美国的一座城市。位于田纳西州沙利文县。据2010年人口普查,布里斯托尔有人口26,702人。田纳西州的布里斯托尔和佛吉尼亚州的布里斯托尔是一座双子城。布
  • 越南现代史年表越南现代史年表是1945年以后的越南历史年表。
  • 萨穆埃尔·哈内曼克里斯蒂安·弗里德里希·萨穆埃尔·哈内曼 ( 德语:Christian Friedrich Samuel Hahnemann,1755年4月10日 – 1843年7月2日) 是一位德国医生,以创立一种名为顺势疗法的另类医学
  • 阿波加斯特阿波加斯特(英语:Arbogast,?-394年),罗马帝国将领,法兰克人,步军长官。为格拉提安统治时期的统帅,在狄奥多西一世战胜马格努斯·马格西穆斯的战斗中发挥重要作用。他曾是瓦伦提尼安二
  • 俄罗斯合并克里米亚2014年年初,俄罗斯联邦吞并克里米亚半岛。克里米亚半岛于1954年由俄罗斯赠与乌克兰。现在克里米亚半岛属于俄罗斯的克里米亚共和国和塞瓦斯托波尔。这一事件也是2014年乌克兰
  • 刘庭燝刘庭燝(1851年-1904年),字景星,号卓园。江苏省常州府靖江县人。清朝政治人物。进士出身。光绪九年(1883年),参加癸未科殿试,登进士二甲第8名。
  • 选择性催化还原法选择性催化还原法(英语:Selective Catalytic Reduction,SCR)是把一氧化氮或氮氧化物(NOx)从烟气中移除的过程。在使用催化剂协助的情况下,使之“还原”及分解成氮(N2)和水分(H2O)。过程
  • 道格拉斯·莱纳特道格拉斯·莱纳特,美国计算机科学家,1950年出生于费城。12岁丧父的道格拉斯苦于钻研科学,1967年参加了国际科学大赛。1968年,莱纳特进入宾夕法尼亚大学,一开始喜欢数学和物理,1971