如何从min-max堆中删除max元素?

时间:2012-12-01 18:18:00

标签: algorithm data-structures heap max min

我搜索并没有找到办法做到这一点,如果它存在,你们可以帮我怎么做吗?

1 个答案:

答案 0 :(得分:2)

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

选择最大值,并将其替换为堆的最后一个元素 - 与常规堆一样 - 并执行向下堆修复。就像使用常规堆一样,从位置1或2开始而不是从0开始,然后像在min-max-heap中一样下降到水平。