python模块之heapq

一、heapq(堆)队列

  这个提供了堆队列的语法,也就是优先队列语法。

  堆是完全二叉树。heap[0]是最小元素

  heap的索引是从0开始的。pop的是小根堆,每次都返回最小的元素

  

二、heapq的方法

  1、heapq.heapify(x):创建堆,将list转化为堆

  1、heapq.heappush(heap, item):

  2、heapq.heappop(heap)

  3、heapq.heappushpop(heap, item)

  4、heapq.merge(*iterables, key=None, reverse=False)

  4、heapq.heapreplace(heap, item)

三、基于堆提供额外的heapq的方法

  1、heapq.merge(*iterables, key=None, reverse=False)

  2、heapq.nlargest(n, iterable, key=None)

  3、heapq.nsmallest(n, iterable, key=None)

posted @ 2017-06-10 19:51  skiler  阅读(252)  评论(0)    收藏  举报