ํ์ ํธ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํน์ ํ ๋ชฉ์ ์ ๋ง์ถฐ ๋ณํ๋ ์๋ฃ๊ตฌ์กฐ์ด๋ค.
๋ฐ์ดํฐ์์ ์ต๋๊ฐ๊ณผ ์ต์๊ฐ์ ๋น ๋ฅด๊ฒ ์ฐพ๊ธฐ ์ํด ๊ณ ์๋ ์์ ์ด์ง ํธ๋ฆฌ
์ต๋๊ฐ๊ณผ ์ต์๊ฐ์ ์ฐพ๊ธฐ์ํด์ ๋จ์ ๋ฐฐ์ด์ ์ฌ์ฉํ๋ฉด ์๊ฐ์ด ์ค๋๊ฑธ๋ฆผ (๋ฐฐ์ด์ ์๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋ค ๊ฒ์ํด์ ๊ทธ ์์์ ์ต๋๊ฐ๊ณผ ์ต์๊ฐ์ ์ฐพ๊ฒ๋๋ฉด O(n) ์๊ฐ๋ณต์ก๋๋งํผ ๊ฑธ๋ฆผ.)
โ ์ด๊ฑฐ๋ณด๋ค ๋ ๋น ๋ฅด๊ฒ ์ฐพ์ ์ ์๋ ๋ฐฉ๋ฒ ์ค์ ํ๋๊ฐ ํ์ด๋ค.
(ํ์ ์ฌ์ฉํ๋ฉด O(logn)์ผ๋ก ์์ฃผ ๋ง์ ์๊ฐ์ ๋จ์ถํ ์ ์์)
- ์์ ์ด์ง ํธ๋ฆฌ: ๋ ธ๋๋ฅผ ์ฝ์ ํ ๋ ์ตํ๋จ ์ผ์ชฝ ๋ ธ๋๋ถํฐ ์ฐจ๋ก๋๋ก ์ฝ์ ํ๋ ํธ๋ฆฌ
- ํ์ ์ฌ์ฉํ๋ ์ด์ :
- ๋ฐฐ์ด์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ๊ณ ์ต๋๊ฐ๊ณผ ์ต์๊ฐ์ ์ฐพ์ผ๋ ค๋ฉด O(n)์ด ๊ฑธ๋ฆผ
- ์ด์ ๋ฐํด, ํ์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ๊ณ ์ต๋๊ฐ๊ณผ ์ต์๊ฐ์ ์ฐพ์ผ๋ ค๋ฉด O(logn)์ด ๊ฑธ๋ฆผ
์ต๋ ํ๊ณผ ์ต์ ํ์ผ๋ก ๋ถ๋ฅํ ์ ์์
- ์ต๋ ํ(Max Heap) : ์ต๋๊ฐ์ ๊ตฌํ๊ธฐ ์ํ ๊ตฌ์กฐ
- ์ต์ ํ(Min Heap) : ์ต์๊ฐ์ ๊ตฌํ๊ธฐ ์ํ ๊ตฌ์กฐ
ํ์์ ๋ฐ์ดํฐ๋ ํญ์ ๋ฃจํธ ๋ ธ๋์์ ๊ฐ์ ธ์จ๋ค.
๋ฃจํธ ๋ ธ๋๊ฐ ์ต๋๊ฐ ๋๋ ์ต์๊ฐ์ด๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๋ฅผ ๋ค ํ์ํ ํ์์์ด ๋ฃจํธ ๋ ธ๋๋ง ๋นผ์ค๋ฉด ๋๊ธฐ ๋๋ฌธ์ ์๊ฐ์ด ์ ๊ฒ ๊ฑธ๋ฆฐ๋ค. (์ต๋, ์ต์๊ฐ์ ํญ์ ๋ง๋ จํด๋๋ ๊ตฌ์กฐ๊ฐ ๋๋๊น)
โ ๋ฌผ๋ก ํ ์ ์ฑ ์ ๋ง๊ฒ ๋ฐ์ดํฐ๋ฅผ ๊ตฌ์ฑํ๋๋ฐ์๋ ์๊ฐ์ด ๊ฑธ๋ฆฝ๋๋ค.
์์ ์ด์ง ํธ๋ฆฌ
- ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ ๋ ํญ์ ์ผ์ชฝ๋ถํฐ ์ฑ์๊ฐ๊ฒ ๋์ด์๋ ๊ตฌ์กฐ
ํ์ ๋๊ฐ์ง ์กฐ๊ฑด์ ๊ฐ์ง๊ณ ์๋ ์๋ฃ๊ตฌ์กฐ์
- ๊ฐ ๋
ธ๋์ ๊ฐ์ ํด๋น ๋
ธ๋์ ์์ ๋
ธ๋ ๊ฐ๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๋ค. (์ต๋ ํ์ธ ๊ฒฝ์ฐ)
- ์ต์ ํ์ ๊ฒฝ์ฐ๋ ๊ฐ ๋ ธ๋์ ๊ฐ์ ํด๋น ๋ ธ๋์ ์์ ๋ ธ๋๊ฐ ๊ฐ์ง ๊ฐ๋ณด๋ค ํฌ๊ฑฐ๋ ์์
- ์์ ์ด์ง ํธ๋ฆฌ ํํ๋ฅผ ๊ฐ์ง
- ๊ณตํต์ : ๋ชจ๋ ์ด์ง ํธ๋ฆฌ์ด๋ค. (์์๋ ธ๋๊ฐ ์ต๋ 2๊ฐ์ธ๊ฒ)
- ์ฐจ์ด์
- ํ(์์ ์ด์ง ํธ๋ฆฌ)์ ๊ฐ ๋ ธ๋์ ๊ฐ์ด ์์ ๋ ธ๋๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ (์ต๋ ํ์ธ ๊ฒฝ์ฐ)
- ์ด์ง ํ์ ํธ๋ฆฌ๋ ์ผ์ชฝ ์์ ๋ ธ๋์ ๊ฐ์ด ๊ฐ์ฅ ์๊ณ , ๊ทธ๋ค์ ๋ถ๋ชจ๋ ธ๋, ๊ทธ๋ค์ ์ค๋ฅธ์ชฝ ์์ ๋ ธ๋ ๊ฐ์ด ๊ฐ์ฅ ํผ
- ํ(์์ ์ด์ง ํธ๋ฆฌ)์ ์ผ์ชฝ ๋ฐ ์ค๋ฅธ์ชฝ ์์ ๋ ธ๋์ ๊ฐ์ ์ค๋ฅธ์ชฝ์ด ํด ์๋ ์๊ณ ์ผ์ชฝ์ด ํด ์๋ ์์
- ์ด์ง ํ์ ํธ๋ฆฌ๋ ํ์์ ๋น ๋ฅด๊ฒ ํ๊ธฐ ์ํ ๊ตฌ์กฐ,
- ํ์ ์ต๋/์ต์๊ฐ ๊ฒ์์ ๋น ๋ฅด๊ฒ ํ๊ธฐ ์ํ ๊ตฌ์กฐ