import heapq
heap = []
heapq 모듈을 불러오고
사용할 빈 리스트를 만듭니다.
heapq.heappush(heap,5)
heapq.heappush(heap,3)
print(heap)
heapq.heappush(heap,9)
heapq.heappush(heap,1)
print(heap)
[out]
[3, 5]
[1, 3, 9, 5]
heapq.heappush(리스트, 원소) -> 최솟값 자동으로 sort 되어서 저장이 됩니다.
a = heapq.heappop(heap)
print(a)
print(heap)
[out]
1
[3, 5, 9]
힙의 기능으로 heap.heappop(리스트) 를 사용하면,
리스트 내의 가장 작은 element(index = 0)를 pop 합니다.
num = [6,8,52,1,3,5,7,50]
heapq.heapify(num)
print(num)
heapq.heappop(num)
print(num)
heapq.heappop(num)
print(num)
[out]
[1, 3, 5, 8, 6, 52, 7, 50]
[3, 6, 5, 8, 50, 52, 7]
[5, 6, 7, 8, 50, 52]
기존 존재하는 리스트를 heap으로 만들수 있습니다.
=> heapq.heapify(num)
heapq.heappop()으로 가장 작은 element 빼는 것 다시 실행!
'Make the Learning Curve > Python' 카테고리의 다른 글
[Python] Pandas 튜토리얼 (Feat.DACON _ Ch 05 - 07) (0) | 2021.01.08 |
---|---|
[Python] Pandas 튜토리얼 (Feat.DACON _ Ch 01 - 04) (0) | 2021.01.07 |
[Python] Sort() , sorted() 정렬 함수 (0) | 2020.12.20 |
[알고리즘] 선택 정렬 (0) | 2020.12.18 |
[Python] unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape 오류 (0) | 2020.12.14 |
댓글