python heapq

注意:


heapq是最小堆,也就是说,堆顶元素pq[0]中储存的是最小值,得到的结果是最大的K个值.

-----------------------------------------

Help on module heapq:


NAME
    heapq - Heap queue algorithm (a.k.a. priority queue).


FILE
    /usr/lib64/python2.4/heapq.py


DESCRIPTION
    Heaps are arrays for which a[k] <= a[2*k+1] and a[k] <= a[2*k+2] for
    all k, counting elements from 0.  For the sake of comparison,
    non-existing elements are considered to be infinite.  The interesting
    property of a heap is that a[0] is always its smallest element.
    
    Usage:
    
    heap = []            # creates an empty heap
    heappush(heap, item) # pushes a new item on the heap
    item = heappop(heap) # pops the smallest item from the heap
    item = heap[0]       # smallest item on the heap without popping it
    heapify(x)           # transforms list into a heap, in-place, in linear time
    item = heapreplace(heap, item) # pops and returns smallest item, and adds
                                   # new item; the heap size is unchanged

你可能感兴趣的:(python heapq)