728x90
π₯ ν μλ£κ΅¬μ‘°
- λ°μ΄ν°λ₯Ό μ λ ¬λ μνλ‘ μ μ₯νκΈ° μν΄ μ¬μ©νλ νμ΄μ¬ heapq
- μ΅λ, μ΅μκ°μ κ°μ Έ μ¬λ λ§μ΄ μ¬μ©
π₯ ν ν¨μ
1. heap μμ±
heap = []
2. heap μμ μΆκ°
heapq.heappush(heap,4)
3. heap μμ μμ , κ°μ₯ μμ μμ μμ ν κ·Έ κ° λ¦¬ν΄
heapq.heappop(heap)
4. μ΅μκ° μμ νμ§ μκ³ μ»κΈ°
heap = [0]
5. κΈ°μ‘΄ 리μ€νΈλ₯Ό νμΌλ‘ λ³ν
heapq.heapify(heap)
import heapq
heap = []
# ν μμ μΆκ°
heapq.heappush(heap,4)
heapq.heappush(heap,1)
print(heap)
>>> [4,1]
# ν μμ μμ
print(heapq.heappop(heap))
print(heap)
>>> 1
>>> [4]
#μ΅μκ° μμ νμ§ μκ³ μ»κΈ°
print(heap[0])
>>> 4
# κΈ°μ‘΄ 리μ€νΈλ₯Ό νμΌλ‘ λ³ν
heap = [4,5,6,2,1]
heapq.heapify(heap)
print(heap)
>>>[1,2,4,5,6]
π₯ ν μ λ ¬
import heapq
def heap_sort(nums):
heap = []
for num in nums:
heapq.heappush(heap,num)
sorted_nums=[]
while heap:
sorted_nums.append(heapq.heappop(heap))
return sorted_nums
print(heap_sort([4,8,1,2,6,5]))
>>>[1,2,4,5,6,8]
'Python > λ¬Έλ²' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[python] λ¬Έμμ΄ μ r (0) | 2023.10.29 |
---|---|
[python] list(set()) / zip()/ map()/ sep() ν¨μ (0) | 2023.10.28 |
[python] input() ν¨μ (0) | 2023.10.16 |
[python] map ν¨μ (0) | 2023.07.25 |