python创建堆的方法有哪些

python创建堆的方法有哪些

1、说明

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

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

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

2、实例

importheapq
fromheapq_showtreeimportshow_tree
fromheapq_heapdataimportdata

heap=[]
print('random:',data)
print()

fornindata:
print('add{:>3}:'.format(n))
heapq.heappush(heap,n)
show_tree(heap)

#output
#random:[19,9,4,10,11]
#
#add19:
#
#19
#------------------------------------
#
#add9:
#
#9
#19
#------------------------------------
#
#add4:
#
#4
#199
#------------------------------------
#
#add10:
#
#4
#109
#19
#------------------------------------
#
#add11:
#
#4
#109
#1911
#------------------------------------

以上就是python创建堆的两种方法,希望对大家有所帮助。更多python学习指路:python基础教程