ํž™

    [Algorithm] ํž™ | ์ตœ๋Œ€ ํž™, ์ตœ์†Œ ํž™

    heap์ด๋ž€? : ์šฐ์„  ์ˆœ์œ„ ํ(priority queue)๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ ์ค‘ ํ•˜๋‚˜๋กœ, ์™„์ „์ด์ง„ํŠธ๋ฆฌ๋ฅผ base๋กœ ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ. ์šฐ์„ ์ˆœ์œ„ ํ๋Š” ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๊ฐ€์žฅ ๋†’์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์žฅ ๋จผ์ € ์‚ญ์ œํ•˜๋Š” ์ ์ด ํŠน์ง• ์ตœ์†Œ ํž™: ๋ถ€๋ชจ ๋…ธ๋“œ์˜ ํ‚ค ๊ฐ’์ด ์ž์‹ ๋…ธ๋“œ์˜ ํ‚ค ๊ฐ’๋ณด๋‹ค ํ•ญ์ƒ ์ž‘์€ ํž™ ์ตœ๋Œ€ ํž™: ๋ถ€๋ชจ ๋…ธ๋“œ์˜ ํ‚ค ๊ฐ’์ด ์ž์‹ ๋…ธ๋“œ์˜ ํ‚ค ๊ฐ’๋ณด๋‹ค ํ•ญ์ƒ ํฐ ํž™ ์ž๋ฃŒ๊ตฌ์กฐ ์ถ”์ถœ๋˜๋Š” ๋ฐ์ดํ„ฐ ์Šคํƒ(stack) ๊ฐ€์žฅ ๋‚˜์ค‘์— ์‚ฝ์ž…๋œ ๋ฐ์ดํ„ฐ ํ(queue) ๊ฐ€์žฅ ๋จผ์ € ์‚ฝ์ž…๋œ ๋ฐ์ดํ„ฐ ์šฐ์„ ์ˆœ์œ„ ํ(priority queue) ๊ฐ€์žฅ ์šฐ์„  ์ˆœ์œ„๊ฐ€ ๋†’์€ ๋ฐ์ดํ„ฐ ์ตœ์†Œ ํž™ (min heap) : ๊ฐ’์ด ๊ฐ€์žฅ ๋‚ฎ์€ ๋ฐ์ดํ„ฐ๊ฐ€ ๋จผ์ € ์‚ญ์ œ import heapq heap = [] heapq.heappush(heap, 5) heapq.heap..