Binary Heap
Last updated
Last updated
ํ(heap)์ ์ด์ง ํ(binary heap)์ด๋ผ๊ณ ๋ ํ๋ฉฐ, ์ต๋๊ฐ ๋ฐ ์ต์๊ฐ์ ์ฐพ์๋ด๋ ์ฐ์ฐ์ ๋น ๋ฅด๊ฒ ํ๊ธฐ ์ํด ๊ณ ์๋ ์์ ์ด์งํธ๋ฆฌ๋ฅผ ๊ธฐ๋ณธ์ผ๋ก ํ ์๋ฃ๊ตฌ์กฐ์ ๋๋ค.
Root node๋ ๊ฐ์ฅ ๋(์ต๋|์ต์)๊ฐ์ด๋ค. ํญ์์์๋ ธ๋๋ ๋ถ๋ชจ๋ ธ๋๋ณด๋ค ๊ธฐ์ค์๋ฐ๋ฅธ๋ค (์๊ฑฐ๋, ํฌ๋ค)
ํ์ ์์ ์ด์งํธ๋ฆฌ์ ๋๋ค. ํ์ ์ผ๋ฐ์ ์ผ๋ก ๋ฐฐ์ด๋ก ํํํฉ๋๋ค. ๋ฃจํธ ๋ ธ๋์ ์ธ๋ฑ์ค i๊ฐ 1์ธ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ ์์ฑ์ด ์์ต๋๋ค.
heapify๋ ์ด์งํธ๋ฆฌ์์ ํ ์์ฑ์ ์ ์งํ๋ ์์ ์ ํฉ๋๋ค. ์์์ ์๋๋ก ๋ด๋ ค๊ฐ๋ฉด์ ์์ ์ ํฉ๋๋ค.
e.g ) ์ฐ์ ์์ ํ, Dijkstra ์๊ณ ๋ฆฌ์ฆ, ํ ์ ๋ ฌ