Heap / Python
Updated:
β Heap
νμ μ΄μ§νΈλ¦¬ κΈ°λ°μ μλ£κ΅¬μ‘°λ‘ νμ ν΅ν΄ μ΅λκ° / μ΅μκ°μ λΉ λ₯΄κ² μ°Ύμ μ μλ€.
νμ΄μ¬μμ μ 곡νλ heapq λͺ¨λμ μ΄μ©ν΄ νμ λΉ λ₯΄κ² ꡬνν μ μλλ° μ΄ λͺ¨λμ κΈ°λ³Έμ μΌλ‘ μ΅μνμ μ§μνλ€.
μ΅λνμ μ¬μ©νκ³ μΆλ€λ©΄ μμλ₯Ό μμλ‘ λ³νν΄μ μ μ₯ν΄ μ£Όλ©΄ λλ€.
π κ΄λ ¨ ν¨μ
import heapq
heapq.heapify(iterable)
μ£Όμ΄μ§ 리μ€νΈλ₯Ό ν κ΅¬μ‘°λ‘ λ³ννλ€.
heapq.heappush(heap, item)
νμ μμλ₯Ό μΆκ°νλ€.
μμκ° μΆκ°λ κ²μ λ°μνμ¬ μλμΌλ‘ ν΄λΉ heap[0]μλ μ΅μκ°μ΄ λ΄κ²¨ μλ€.
heapq.heappop(heap)
νμμ κ°μ₯ μμ μμλ₯Ό μ κ±°νκ³ λ°ννλ©° μ΄λ₯Ό λ°μνμ¬ μλμΌλ‘ ν΄λΉ heap[0]μλ μ΅μκ°μ΄ λ΄κ²¨ μλ€.
heapq.heapreplace(heap, item)
νμμ κ°μ₯ μμ μμλ₯Ό μ κ±°νκ³ μλ‘μ΄ μμλ₯Ό μΆκ°νλ€.
Leave a comment