好的,O(1) 只用于检索堆的根节点。要删除此根节点,所有堆实现都具有 O(log(n)) 的时间复杂度。例如,Python 中的 heapq 模块使用数组实现堆,而数组的第一个元素始终为堆的根节点。因此,在删除根节点时,需要进行从上到下的替换过程,需要花费 O(log(n)) 的时间,O(log(n)) 是总替换次数。
O(1)
。 - Ayoub Omari