背景 链接到标题 最近使用到了 heap 这个数据结构,记录一下在 Python 和 Golang 中最基本的使用方法~
堆(英语:Heap)是计算机科学中的一種特別的樹狀数据结构。若是滿足以下特性,即可稱為堆積:「給定堆積中任意節點P和C,若P是C的母節點,那麼P的值會小於等於(或大於等於)C的值」。若母節點的值恆小於等於子節點的值,此堆積稱為最小堆積(min heap);反之,若母節點的值恆大於等於子節點的值,此堆積稱為最大堆積(max heap)。在堆積中最頂端的那一個節點,稱作根節點(root node),根節點本身沒有母節點(parent node)。
Python 链接到标题 create 链接到标题 In [1]: import heapq In [2]: a = [1,3,2,5,4] In [3]: heapq.heapify(a) In [4]: a Out[4]: [1, 3, 2, 5, 4] In [5]: b = [] In [6]: heapq.heappu heapq.heappush heapq.heappushpop In [6]: heapq.heappush(b, 1) In [7]: heapq.heappush(b, 3) In [8]: heapq.heappush(b, 2) In [9]: heapq.heappush(b, 5)
...
继续阅读
(28)