码迷,mamicode.com
首页 > 其他好文 > 详细

Heap queue algorithm

时间:2018-02-22 13:38:34      阅读:111      评论:0      收藏:0      [点我收藏+]

标签:结构   div   one   false   rabl   post   元素   n个元素   key   

import heapq

heap = []
heapq.heappush(heap, item)#将item加入heap,保持堆结构
heapq.heappop(heap)#弹出堆顶最小元素,如果heap为空,抛出一个IndexError,不弹出只调用这个最小元素,使用heap[0]
heapq.heappushpop(heap, item)#将item加入heap,并弹出堆顶最小元素,比heappush()和heappop()结合使用更有效率
heapq.heapify(x)#将列表x转化成一个堆
heapq.heapreplace(heap, item)#先弹出堆顶最小元素,再将item加入heap,与heappushpop()的操作顺序相反,同样,比heappush()和heappop()结合使用更有效率
heapq.merge(*iterables, key=None, reverse=False)#将多个列表合并,并进行堆调整,返回的是合并后的列表的迭代器
heapq.nlargest(n, iterable, key=None)#返回最大的n个元素(Top-K问题)
heapq.nsmallest(n, iterable, key=None)#返回最小的n个元素(Top-K问题)

 

Heap queue algorithm

标签:结构   div   one   false   rabl   post   元素   n个元素   key   

原文地址:https://www.cnblogs.com/imageSet/p/8458167.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!