๐ ํด์ ํ ์ด๋ธ(Hash Table)?
- ์ด๋ค ํน์ ๊ฐ์ ๋ฐ์ผ๋ฉด ๊ทธ ๊ฐ์ ํด์ ํจ์์ ํต๊ณผ ์์ผ ๋์จ ์ธ๋ฑ์ค์ ์ ์ฅํ๋ ์๋ฃ๊ตฌ์กฐ
- ํด์ ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ํน์ ๊ฐ์ ์ ์ํ๊ฒ ์ฐพ๋ ์๋ฃ๊ตฌ์กฐ
- ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด๋ ํด์ ํ ์ด๋ธ๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ํค์ ํด๋น ํค์ ์ฐ๊ด๋ ๊ฐ์ ์ ์ํ๋ ๋ฐฉ์์ผ๋ก ๋์ํ๋ค.
โ ํด์ ํจ์ (Hash Function) = ํด์(Hash)
์์์ ๊ธธ์ด์ ๋ฐ์ดํฐ๋ฅผ ๊ณ ์ ๋ ๊ธธ์ด์ ๋ฐ์ดํฐ๋ก ๋งคํํ๋ ํจ์
- ํด์ ํจ์์ ํน์ฑ
- ์์ถ์ฑ: ๋ค์ํ ๊ฐ๋ณ ๊ธธ์ด์ ์ ๋ ฅ์ ๋ํด ๊ณ ์ ๋ ํฌ๊ธฐ์ ๊ฒฐ๊ณผ๊ฐ์ ๋ฐํํ๋ ์ฑ์ง์ ๊ฐ์ง๋ค.
- ํจ์จ์ฑ: ์ด๋ค ์ ๋ ฅ ๊ฐ์ ๋ํด์๋ ๋ง์ ์์๊ณผ ์๊ฐ์ด ์์๋์ง ์๊ณ ์ฒ๋ฆฌ๋๋ ์ฑ์ง์ ๊ฐ์ง๋ค.
- ์ ํญ์ฑ: ๊ฒฐ๊ณผ๊ฐ์ ๋ฐํ์ผ๋ก ์ ๋ ฅ ๊ฐ์ ์ฐพ๋ ๊ฒ์ด ๋ถ๊ฐ๋ฅํ ์ฑ์ง์ ๊ฐ์ง๋ค.
โ ํด์ ์ถฉ๋(Hash Collision)
๋ฐ์ดํฐ๋ฅผ Key๋ก ๊ฐ์ํํ์ฌ ์ ์ฅํ์ง๋ง ๋ค๋ฅธ ใ ใด์ฉ์ ๋ฐ์ดํฐ๊ฐ ๊ฐ์ ํค๋ฅผ ๊ฐ๋ ๊ฒฝ์ฐ ์๊ธฐ๋ ๊ฒ์ ํด์ ์ถฉ๋์ด๋ผ๊ณ ํ๋ค.
ํด์ํ ์ด๋ธ์ ์ฑ๋ฅ๋ฅ์ ๋จ์ด๋จ๋ฆฌ๋ ์์ธ์ด ๋๋ค.
- ํด๊ฒฐ๋ฐฉ๋ฒ
- ํด์ ํจ์ ๋ณ๊ฒฝ: ๋ ํฐ ์ซ์์ ๊ณต๊ฐ๊ณผ ๋ชจ๋ ์ฐ์ ๊ฐ์ ์ด์ฉํด ์ถฉ๋์ ์ต์ํํ๋ค.
(๊ฐ์ ์๊ฐ ๋์ค๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์ค์ธ๋ค.) - ์๋ฃ๊ตฌ์กฐ ํ์ฅ: ์ ํ ์กฐ์ฌ๋ฒ, ์ด์คํด์, ์ฑ์ด๋
- ํด์ ํจ์ ๋ณ๊ฒฝ: ๋ ํฐ ์ซ์์ ๊ณต๊ฐ๊ณผ ๋ชจ๋ ์ฐ์ ๊ฐ์ ์ด์ฉํด ์ถฉ๋์ ์ต์ํํ๋ค.
- ๊ตฌํ ๋ฉ์๋(Method)
- clear
- size
- getBuffer
- put
- remove
- get
'Algorithm > Study' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Algorithm] ํ(Heap) (2) | 2022.06.26 |
---|---|
[์บ์ ์๊ณ ๋ฆฌ์ฆ] LRU (Least Recently Used Algorithm) (0) | 2022.02.10 |