python如何创建堆

  介绍

小编给大家分享一下python如何创建堆,希望大家阅读完这篇文章之后都有所收获、下面让我们一起去探讨吧!

1,说明

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

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

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

2,实例

import  heapq   得到heapq_showtree  import  show_tree   得到heapq_heapdata  import 数据   ,   时间=heap  []   打印(& # 39;random : & # 39;,,数据)   print ()   ,   for  n 拷贝数据:   打印才能(& # 39;add {:祝辞;3}:& # 39;.format (n))   heapq.heappush才能(堆,n)   show_tree才能(堆)   ,,   #,输出   :#,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如何创建堆