zoukankan      html  css  js  c++  java
  • Python heapq模块

    注意,默认的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
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    使用高精度计算斐波那契数列 c++
    纪中9日T4 2298. 异或
    洛谷 P1416 攻击火星
    线段树小结
    纪中5日T3 1566. 幸运锁(lucky.pas/c/cpp)
    Title
    Title
    Title
    Title
    Title
  • 原文地址:https://www.cnblogs.com/TMatrix52/p/9829518.html
Copyright © 2011-2022 走看看