gpt4 book ai didi

python - 为什么使用 heapq.heapify 创建的堆与迭代 heapq.heappush 创建的堆不同

转载 作者:太空宇宙 更新时间:2023-11-04 00:56:11 24 4
gpt4 key购买 nike

我注意到给定一个列表,如果我使用 heapq.heapify() 创建一个堆,元素的顺序与我在列表上迭代并执行 heap.heappush() 时获得的顺序不同。

谁能帮我理解为什么?

此外,对于可迭代对象,创建堆的一种方法是否比另一种方法更好,为什么?

最佳答案

heapify 使用 O(n) 算法,这与天真地逐个插入不同,后者仅为 O(n log n)。查看Wikipedia's description

关于python - 为什么使用 heapq.heapify 创建的堆与迭代 heapq.heappush 创建的堆不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34984015/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com