码迷,mamicode.com
首页 > 编程语言 > 详细

Python heapq模块

时间:2018-10-22 14:52:34      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:迭代器   列表   原创   key   heapq   最大   作者   sdn   小顶堆   

注意,默认的heap是一个小顶堆!

 

heapq模块提供了如下几个函数:

 

heapq.heappush(heap, item) 把item添加到heap中(heap是一个列表)

heapq.heappop(heap) 把堆顶元素弹出,返回的就是堆顶

heapq.heappushpop(heap, item) 先把item加入到堆中,然后再pop,比heappush()再heappop()要快得多

heapq.heapreplace(heap, item) 先pop,然后再把item加入到堆中,比heappop()再heappush()要快得多

heapq.heapify(x) 将列表x进行堆调整,默认的是小顶堆

heapq.merge(*iterables) 将多个列表合并,并进行堆调整,返回的是合并后的列表的迭代器

heapq.nlargest(n, iterable, key=None) 返回最大的n个元素(Top-K问题)

heapq.nsmallest(n, iterable, key=None) 返回最小的n个元素(Top-K问题)


---------------------
作者:Calling_Wisdom
来源:CSDN
原文:https://blog.csdn.net/Calling_Wisdom/article/details/41676133
版权声明:本文为博主原创文章,转载请附上博文链接!

Python heapq模块

标签:迭代器   列表   原创   key   heapq   最大   作者   sdn   小顶堆   

原文地址:https://www.cnblogs.com/pengwang52/p/9829518.html

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