【发布时间】:2021-05-27 10:08:34
【问题描述】:
heap = MinHeap()
print(heap) #[]
heap.push(5)
print(heap) #[5]
heap.push(1)
print(heap) #[1,5]
heap.push(4)
print(heap) #[1,5,4]
heap.push(20)
print(heap) #[1,5,4,20]
heap.push(2)
print(heap) #[1,2,4,20,5]
每次服务或推入最小堆时,我如何不断跟踪最小堆中每个项目的索引位置?这个复杂度能在O(1)时间复杂度内实现吗?
【问题讨论】:
-
欢迎来到 SO,您能否更准确地了解预期输出以及您尝试达到的目标?
-
你是否假设堆中的值是唯一的?
标签: python algorithm time-complexity heap priority-queue