• 企业400电话
  • 网络优化推广
  • AI电话机器人
  • 呼叫中心
  • 全 部 栏 目

    网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    python创建堆的方法实例讲解
    POST TIME:2021-10-18 14:34

    1、说明

    创建堆有两种基本方法:heappush() 和 heapify()。

    当使用heappush()时,当新元素添加时,堆得顺序被保持了。

    如果数据已经在内存中,则使用 heapify() 来更有效地重新排列列表中的元素。

    2、实例

    import heapq
    from heapq_showtree import show_tree
    from heapq_heapdata import data
     
    heap = []
    print('random :', data)
    print()
     
    for n in data:
      print('add {:>3}:'.format(n))
      heapq.heappush(heap, n)
      show_tree(heap)
       
    # output
    # random : [19, 9, 4, 10, 11]
    #
    # add 19:
    #
    #         19
    # ------------------------------------
    #
    # add  9:
    #
    #         9
    #     19
    # ------------------------------------
    #
    # add  4:
    #
    #         4
    #     19        9
    # ------------------------------------
    #
    # add 10:
    #
    #         4
    #     10        9
    #   19
    # ------------------------------------
    #
    # add 11:
    #
    #         4
    #     10        9
    #   19    11
    # ------------------------------------

    知识点扩展:

    创建最大(小)堆

    二叉堆本质上是一种完全二叉树,存储方式并不是链式存储,而是顺序存储

    堆操作:插入(叶子节点上调),删除(堆顶元素下沉)

    堆创建:非叶子节点下沉(从最后一个非叶子节点开始)

    最小堆:

    最小堆任何一个父节点的值,都小于等于它左右孩子节点的值

    创建过程:如果非叶子节点值大于其子节点,将其下沉

    最大堆:

    最大堆任何一个父节点的值,都大于等于它左右孩子节点的值。

    创建过程:如果非叶子节点值小于其子节点,将其下沉

    到此这篇关于python创建堆的方法实例讲解的文章就介绍到这了,更多相关python创建堆的方法有哪些内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • Pycharm创建python文件自动添加日期作者等信息(步骤详解)
    • 如何用tempfile库创建python进程中的临时文件
    • Python Process创建进程的2种方法详解
    • 用Python创建简易网站图文教程
    上一篇:python通过re正则表达式切割中英文的操作
    下一篇:minconda安装pytorch的详细方法
  • 相关文章
  • 

    关于我们 | 付款方式 | 荣誉资质 | 业务提交 | 代理合作


    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信