Updated:

βœ… Heap

νž™μ€ μ΄μ§„νŠΈλ¦¬ 기반의 자료ꡬ쑰둜 νž™μ„ 톡해 μ΅œλŒ“κ°’ / μ΅œμ†Ÿκ°’μ„ λΉ λ₯΄κ²Œ 찾을 수 μžˆλ‹€.
νŒŒμ΄μ¬μ—μ„œ μ œκ³΅ν•˜λŠ” heapq λͺ¨λ“ˆμ„ μ΄μš©ν•΄ νž™μ„ λΉ λ₯΄κ²Œ κ΅¬ν˜„ν•  수 μžˆλŠ”λ° 이 λͺ¨λ“ˆμ€ 기본적으둜 μ΅œμ†Œνž™μ„ μ§€μ›ν•œλ‹€.
μ΅œλŒ€νž™μ„ μ‚¬μš©ν•˜κ³  μ‹Άλ‹€λ©΄ μ›μ†Œλ₯Ό 음수둜 λ³€ν™˜ν•΄μ„œ μ €μž₯ν•΄ μ£Όλ©΄ λœλ‹€.

πŸ‘€ κ΄€λ ¨ ν•¨μˆ˜

import heapq

heapq.heapify(iterable)
μ£Όμ–΄μ§„ 리슀트λ₯Ό νž™ ꡬ쑰둜 λ³€ν™˜ν•œλ‹€.

heapq.heappush(heap, item)
νž™μ— μ›μ†Œλ₯Ό μΆ”κ°€ν•œλ‹€.
μ›μ†Œκ°€ μΆ”κ°€λœ 것을 λ°˜μ˜ν•˜μ—¬ μžλ™μœΌλ‘œ ν•΄λ‹Ή heap[0]μ—λŠ” μ΅œμ†Ÿκ°’μ΄ 담겨 μžˆλ‹€.

heapq.heappop(heap)
νž™μ—μ„œ κ°€μž₯ μž‘μ€ μ›μ†Œλ₯Ό μ œκ±°ν•˜κ³  λ°˜ν™˜ν•˜λ©° 이λ₯Ό λ°˜μ˜ν•˜μ—¬ μžλ™μœΌλ‘œ ν•΄λ‹Ή heap[0]μ—λŠ” μ΅œμ†Ÿκ°’μ΄ 담겨 μžˆλ‹€.

heapq.heapreplace(heap, item)
νž™μ—μ„œ κ°€μž₯ μž‘μ€ μ›μ†Œλ₯Ό μ œκ±°ν•˜κ³  μƒˆλ‘œμš΄ μ›μ†Œλ₯Ό μΆ”κ°€ν•œλ‹€.

Categories:

Updated:

Leave a comment