• Debug > python中heap的使用


    堆的定义

    堆是一种特殊的数据结构,它的通常的表示是它的根结点的值最大或者是最小。

    python中heapq的使用

    列出一些常见的用法:

    import heapq

    heap = []#建立一个常见的堆

    heappush(heap,item)#往堆中插入一条新的值

    item = heappop(heap)#弹出最小的值

    item = heap[0]#查看堆中最小的值,不弹出

    heapify(x)#以线性时间将一个列表转为堆

    item = heapreplace(heap,item)#弹出一个最小的值,然后将item插入到堆当中。堆的整体的结构不会发生改变。
    heappoppush()#弹出最小的值,并且将新的值插入其中

    merge()#将多个堆进行合并

    nlargest(n , iterbale, key=None)从堆中找出做大的N个数,key的作用和sorted( )方法里面的key类似,用列表元素的某个属性和函数作为关键字

    • heapq.merge(*iterables, key=None, reverse=False):将多个已排序的输入合并为一个已排序的输出,返回已排序值的 iterator。

    • heapq.nsmallest(n, iterable, key=None):从 iterable 所定义的数据集中返回前 n 个最小元素组成的列表。

    To see I can not see, to know I do not know.
  • 相关阅读:
    【Leetcode】113Path Sum II
    【leetcode】112. Path Sum
    virtualbox 中安装win7虚拟机
    制作一个vagrant的win7 box
    socket编程
    异常处理
    strip(),replace()和re.sub()用法
    面象对象 高阶篇
    面象对象 基础篇
    Subprocess模块介绍
  • 原文地址:https://www.cnblogs.com/aluomengmengda/p/15801234.html
Copyright © 2020-2023  润新知