algorithm - 如何从最小-最大堆中删除最大元素?

标签 algorithm data-structures heap max min

我搜索过,没有找到办法,如果有的话,你们能帮我怎么做吗?

最佳答案

根据您的确切堆布局,您可能有两个候选者(假设您的根是最小元素,第二层是最大元素)。

选择最大的一个,并将其替换为堆的最后一个元素(与常规堆一样),然后执行向下的堆修复。就像常规堆一样,从位置 1 或 2(而不是 0)开始,然后像在最小-最大堆中一样下降到各个级别。

关于algorithm - 如何从最小-最大堆中删除最大元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13662302/

相关文章:

algorithm - 发送批量采访算法

java - 广度优先搜索算法JAVA 8-puzzle

algorithm - 总和小于或等于给定 'k' 的子数组数

在不使用 dcast 的情况下 reshape R 中的数据(reshape2)

c++ - 二进制最小堆 : Printing unstored values

html - 如何判断两个网页是否完全相同

arrays - 在一个非常大的数组中计算较小或相等元素的更快方法?

algorithm - 计算堆最后一级的堆大小

algorithm - 在数组上构建堆算法。无需暴力破解即可生成结果

algorithm - 词入二叉堆