
[Python] heapq ๋ผ์ด๋ธ๋ฌ๋ฆฌ
ยท
๐จLanguage/Python
ํํ(heapq)๋ ํ์ด์ฌ ํ์ค๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ ๊ณตํ๋ ๋ชจ๋๋ก Heap ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ง์ํ๋ค. ์์ ์ด์งํธ๋ฆฌ ํํ๋ฅผ ํ๊ณ ์์ผ๋ฉฐ, ์ต์๊ฐ๊ณผ ์ต๋๊ฐ์ ๋น ๋ฅด๊ฒ ์ฐพ์ ์ ์๋ค . ํ์ด์ฌ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ต์ํ(min-heap)์ ์ ๊ณตํ๋ค. (๋ถ๋ชจ ๋
ธ๋์ ๊ฐ์ ์์ ๋
ธ๋์ ๊ฐ๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค.)์ฃผ์ ๋ฉ์๋heapq.heappush(heap, item)ํ์ ์กฐ๊ฑด์ ์ ์งํ๋ฉด์ item์ heap์ push ํด์ค๋ค. ( O(logn) )import heapqheap = []for i in range(10): heapq.heappush(heap, i)print(heap)## [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]heapq.heappop(heap)ํ์์ ๊ฐ์ฅ ์์ ์์๋ฅผ ์ ๊ฑฐํ๊ณ ๋ฐํํจ. ( O(logn)..