python库整理:heapq 最小堆
生活随笔
收集整理的這篇文章主要介紹了
python库整理:heapq 最小堆
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1,最小堆的創建
要創建堆,請使用初始化為[]的列表,或者可以通過函數heapify()將填充的列表轉換為堆
2,主要函數
?
| heappush(heap,item) | 將值項推入堆,保持堆不變 |
| heapq.heappop(heap) | 彈出并從堆中返回最小的項,從而保持堆不變。如果堆為空,則會引發IndexError。要訪問最小的項目而不彈出它,請使用heap [0]。 ? |
| heapq.heappushpop(heap,item) | 將項目推入堆中,然后彈出并從堆中返回最小的項目。組合的操作比heappush()+heappop()更有效地運行。 ? |
| heapq.heapify(x) | 將列表x在線性時間內就地轉換為堆。 元素的排列順序并不像看起來那么隨意。它們雖然不是嚴格排序的,但必須保證一點:位置i處的元素總是大于位置i // 2處的元素 |
| heapq.heapreplace(heap,item) | 把最小的元素替換 ? |
| heapq.nlargest(n,iterable,key=None) | 從iterable定義的數據集中返回包含n個最大元素的列表。 key(如果提供)指定一個參數的功能,該參數用于從iterable中的每個元素中提取比較鍵 nsmallest同理 |
總結
以上是生活随笔為你收集整理的python库整理:heapq 最小堆的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 文巾解题 264. 丑数 II (剑指
- 下一篇: 谱聚类初探