zoukankan      html  css  js  c++  java
  • Heap queue algorithm

    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问题)
  • 相关阅读:
    Java基础00-循环语句7
    Java基础00-分支语句6
    Java基础00-数据输入5
    Java基础00-运算符4
    Java基础00-基础语法3
    Java基础00-第一个程序2
    第十四题
    第十三题
    第十二题
    第十题
  • 原文地址:https://www.cnblogs.com/imageSet/p/8458167.html
Copyright © 2011-2022 走看看