heapq模块常见操作python
时间: 2023-07-11 12:38:53 浏览: 218
Python标准库
heapq 模块是 Python 中用于堆操作的标准库,它提供了一些常见的函数,包括:
1. heapify(iterable):将一个可迭代对象转换成堆,时间复杂度为 O(n)。
2. heappush(heap, item):向堆中添加一个元素,时间复杂度为 O(log n)。
3. heappop(heap):弹出堆顶元素,并返回其值,时间复杂度为 O(log n)。
4. heapreplace(heap, item):弹出堆顶元素,并将 item 添加到堆中,时间复杂度为 O(log n)。
5. nlargest(n, iterable, key=None):返回可迭代对象中最大的 n 个元素,时间复杂度为 O(n log n)。
6. nsmallest(n, iterable, key=None):返回可迭代对象中最小的 n 个元素,时间复杂度为 O(n log n)。
需要注意的是,heapq 模块中的函数都是基于最小堆实现的,因此如果需要使用最大堆,可以将元素的值取负数后再进行堆操作。
阅读全文