c++ - Min-Max堆删除最大元素

标签 c++ data-structures heap minmax-heap

我对 delete-max 操作后的最终图像感到困惑。当 87 被删除时,48 会回到 87 曾经占据的位置吗?之后树的其余部分不会改变吗?

Min-max heap original

最佳答案

没有。 78 会冒出来填补 87 曾经占据的位置。

您应该阅读原始论文:Min-Max Heaps and Generalized Priority Queues:http://www.cs.otago.ac.nz/staffpriv/mike/Papers/MinMaxHeaps/MinMaxHeaps.pdf

关于c++ - Min-Max堆删除最大元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36483988/

相关文章:

c++ - 使用opencv逐个单元读取表格(图像)的数据

c++ - 我可以在 MFC CListBox 中添加多列吗?

c - 哪种使用 C 数组的数据组织可以生成最快的代码,为什么?

algorithm - 堆排序的时间复杂度

c# - .NET 中的堆类

c++ - 如果我不调用ReleaseStringUTFChars,它会在JNI调用结束时自动调用吗?

c++ - 无效转换、未指定行为和字符数组?

java - 给定一个整数数组,查找并递增具有Java中总数组最低总和的重复值?

grails 设计类和外部数据(电子表格)

python - 使用堆有助于提高字符串重新排列的性能