我正在实施MinHeap
我知道如何实施deleteMax()
但需要O(n)
时间但我需要O(log(n))
算法..
我搜索并没有找到一种方法来做到这一点,如果它存在我有什么办法可以deleteMax()
吗O(log(n))
?
我正在实施MinHeap
我知道如何实施deleteMax()
但需要O(n)
时间但我需要O(log(n))
算法..
我搜索并没有找到一种方法来做到这一点,如果它存在我有什么办法可以deleteMax()
吗O(log(n))
?
您可以创建一个Min-max heap,它会deleteMin()
在deleteMax()
O(log n) 时间内完成。
这是我知道做你想做的事情的唯一 O(log n) 方式。Min-max heap 与 Min-heap 或 Max-heap 具有相同的渐近界,但它在现实世界中的运行时间会稍长一些。