๐ ํ(Heap)์ด๋?
- ์ต๋๊ฐ๊ณผ ์ต์๊ฐ์ ๋น ๋ฅด๊ฒ ์ฐพ๊ธฐ ์ํด ๊ณ ์๋ ์๋ฃ๊ตฌ์กฐ
- ํ์ ์ต๋ํ, ์ต์ํ์ผ๋ก ๋๋ ์ง๋๋ค.
- ํ ํธ๋ฆฌ์์๋ ์ค๋ณต๋ ๊ฐ์ ํ์ฉํ๋ค. (์ด์ง ํ์ ํธ๋ฆฌ์์๋ ์ค๋ณต๋ ๊ฐ์ ํ์ฉํ์ง ์๋๋ค.)
- ์๊ฐ๋ณต์ก๋ = O(log n)
โ ์ต๋ํ
๋ถ๋ชจ ๋ ธ๋์ ํค ๊ฐ์ด ์์ ๋ ธ๋์ ํค ๊ฐ๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ ์์ ์ด์ง ํธ๋ฆฌ
key(๋ถ๋ชจ) >= key(์์)
โ ์ต์ํ
๋ถ๋ชจ ๋ ธ๋์ ํค ๊ฐ์ด ์์ ๋ ธ๋์ ํค ๊ฐ๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ง ์ด์งํธ๋ฆฌ
key(๋ถ๋ชจ) <= key(์์)
๐ ํ์ ๊ตฌํ
- ํ์ ์ ์ฅํ๋ ํ์ค์ ์ธ ์๋ฃ๊ตฌ์กฐ๋ ๋ฐฐ์ด์ด๋ค.
- ๊ตฌํ์ ์ฝ๊ฒํ๊ธฐ ์ํ์ฌ ๋ฐฐ์ด์ ์ฒซ ๋ฒ์งธ ์ธ๋ฑ์ค์ธ 0์ ์ฌ์ฉ๋์ง ์๋๋ค.
- ํน์ ์์น์ ๋
ธ๋ ๋ฒํธ๋ ์๋ก์ด ๋
ธ๋๊ฐ ์ถ๊ฐ๋์ด๋ ๋ณํ์ง ์๋๋ค.
- ๋ฃจํธ ๋ ธ๋์ ์ค๋ฅธ์ชฝ ๋ ธ๋์ ๋ฒํธ๋ ํญ์ 3์ด๋ค.
- ๋ถ๋ชจ ๋
ธ๋์ ์์ ๋
ธ๋์ ๊ด๊ณ
- ์ผ์ชฝ ์์ ์ธ๋ฑ์ค = (๋ถ๋ชจ์ ์ธ๋ฑ์ค) * 2
- ์ค๋ฅธ์ชฝ ์์ ์ธ๋ฑ์ค = (๋ถ๋ชจ์ ์ธ๋ฑ์ค) * 2 + 1
- ๋ถ๋ชจ์ ์ธ๋ฑ์ค = (์์์ ์ธ๋ฑ์ค) / 2
โ ์ฝ์ ์ฐ์ฐ
- ์ฝ์ ํ๊ณ ์ ํ๋ ๊ฐ์ ํธ๋ฆฌ์ ๊ฐ์ฅ ๋ง์ง๋ง ์์์ ์ถ๊ฐํ๋ค.
- ๋ถ๋ชจ ๋ ธ๋์์ ๋์๊ด๊ณ๋ฅผ ๋น๊ตํ๋ฉด์ ๋ง์กฑํ ๋๊น์ง ์๋ฆฌ ๊ตํ์ ๋ฐ๋ณตํ๋ค.
โ ์ญ์ ์ฐ์ฐ
- ํ์์๋ ๋ฃจํธ ๋
ธ๋๋ง ์ญ์ ๊ฐ ๊ฐ๋ฅํ๋ฏ๋ก ๋ฃจํธ ๋
ธ๋๋ฅผ ์ ๊ฑฐํ๋ค.
- ์ต๋ ํ์์ ์ญ์ ์ฐ์ฐ์ ์ต๋๊ฐ์ ๊ฐ์ง ์์๋ฅผ ์ญ์ ํ๋ ๊ฒ์ด๋ค.
- ์ญ์ ๋ ๋ฃจํธ ๋ ธ๋์๋ ํ์ ๋ง์ง๋ง ๋ ธ๋๋ฅผ ๊ฐ์ ธ์จ๋ค.
- ์์๋ ธ๋์ ๋น๊ตํ์ฌ ์กฐ๊ฑด์ด ๋ง์กฑํ ๋๊น์ง ์ด๋์ํจ๋ค.
๐ ์ถ๊ฐ์๋ฃ
'Algorithm > Study' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Algorithm] ํด์ ํ ์ด๋ธ(Hash Table) (0) | 2022.06.09 |
---|---|
[์บ์ ์๊ณ ๋ฆฌ์ฆ] LRU (Least Recently Used Algorithm) (0) | 2022.02.10 |