Python heapq(堆操作)

函數:

  • heappush(heap, item):將 item 元素加入堆。
  • heappop(heap):將堆中最小元素彈出。
  • heapify(heap):將堆屬性應用到列表上。
  • heapreplace(heap, x):將堆中最小元素彈出,並將元素x 入堆。
  • merge(*iterables, key=None, reverse=False):將多個有序的堆合併成一個大的有序堆,然後再輸出。
  • heappushpop(heap, item):將item 入堆,然後彈出並返回堆中最小的元素。
  • nlargest(n, iterable, key=None):返回堆中最大的 n 個元素。
  • nsmallest(n, iterable, key=None):返回堆中最小的 n 個元素。

使用:

  • import heapq
  • heap = []

默認最堆,當要使用最大堆時,一個小trick是將所有元素的相反數壓入,取出後再取反

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章