我是堆的新手,正在尝试了解堆的工作原理。你如何找出最小堆中的最大值?我知道可以通过查找根找到最小值,但是最小堆中的最大值呢?不是寻找代码,更多的是理论和我的理解。
最佳答案
如果有图示,很容易指出最小堆中的最大值。 在最小堆中,根据最小堆的规则,最大值将始终位于树的底部附近。其中父节点的值小于其子节点的值。因此,记住最大值不会因此有任何 child 是非常重要的。
假设给定了一个最小堆。
2
3 7
6 4 10 15
12 14 9 8
在这个最小堆中,只需查看 15 是最大值就非常明显,因为您只需查看没有子元素且位于最小堆中的元素 12、14、9、8、15。
关于java - 在最小堆中搜索最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46615985/