python heapqモジュールで大きなルートスタックを構築
638 ワード
pythonのheapqモジュールはスタックを迅速に構築できます.ただheapqは小根スタックしか構築できず、大根スタックは構築できません.
大きな根の山の作り方:
import heapq
data2 = [1,5,3,2,9,5]
heapq.heapify(data2)
print(data2)
# :[1, 2, 3, 5, 9, 5]
大きな根の山の作り方:
import heapq
ll=[1,4,2,3,5]
print(ll,' ')
heapq.heapify(ll)
print(ll,' ')
#
newl = [(-i, ll[i]) for i in range(len(ll))]
print(newl,' ')
heapq.heapify(newl) # , ,
# ,
max_heap = list()
while newl:
_, s = heapq.heappop(newl) # newl
max_heap.append(s)
print(max_heap,' ')