๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ ๊ธฐ๋ฒ ์ค ํ๋๋ก ๊ฒ์๊ณผ ์ ์ฅ์ด ์์ฃผ ๋น ๋ฅด๊ฒ ์งํ๋๋ ํน์ง์ด ์์ต๋๋ค. ๋น ๋ฅด๊ฒ ์งํ๋ ์ ์๋ ์ด์ ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ ๋ ์ฌ์ฉํ key ์ ์ค์ ๋ฐ์ดํฐ์ ๊ฐ์ด ํ ์์ผ๋ก ์กด์ฌํ๊ณ , key ๊ฐ์ด ๋ฐฐ์ด์ ์ธ๋ฑ์ค๋ก ๋ณํ๋๊ธฐ ๋๋ฌธ์ ๊ฒ์๊ณผ ์ ์ฅ์ ํ๊ท ์ ์ธ ์๊ฐ ๋ณต์ก๋๊ฐ O(1) ์ด ๋ฉ๋๋ค.
ํด์ ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ํค๋ฅผ ํด์ ๊ฐ์ผ๋ก ๋งคํํ๊ณ , ํด์ ๊ฐ์ index ๋ ์ฃผ์ ์ผ์ ๋ฐ์ดํฐ์ ๊ฐ์ ํค์ ํจ๊ป ์ ์ฅํ๋ ์๋ฃ๊ตฌ์กฐ๋ฅผ ํด์ ํ ์ด๋ธ์ด๋ผ๊ณ ํฉ๋๋ค.
ํ์ง๋ง, ๋ฐ์ดํฐ๊ฐ ๋ง์์ง๋ค๋ฉด ๋ค๋ฅธ ๋ฐ์ดํฐ๊ฐ ๊ฐ์ ํด์ ๊ฐ์ผ๋ก ์ถฉ๋๋๋ ํ์์ด ๋ฐ์ํฉ๋๋ค. -> 'collision' ํ์
์ ์ ์์์ผ๋ก ๋ง์ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
ํ๋๋์คํฌ๋ ํด๋ผ์ฐ๋์ ์กด์ฌํ๋ ๋ฌดํ์ ๊ฐ๊น์ด ๋ฐ์ดํฐ(key)๋ค์ ์ ํํ ๊ฐ์์ ํด์ ๊ฐ์ผ๋ก ๋งคํํจ์ผ๋ก์จ ์์ ํฌ๊ธฐ์ ์บ์ ๋ฉ๋ชจ๋ฆฌ๋ก๋ ํ๋ก์ธ์ค๋ฅผ ๊ด๋ฆฌํ ์ ์๊ฒ ๋ฉ๋๋ค.
์ธ์ ๋ ๋์ผํ ํด์ ๊ฐ์ return ํ๊ณ , ํด๋น index ๋ง ์๋ฉด ํด์ ํ ์ด๋ธ์ ํฌ๊ธฐ์ ์๊ด์์ด ๋ฐ์ดํฐ์ ์์ฃผ ๋น ๋ฅด๊ฒ ์ ๊ทผํ ์ ์์ต๋๋ค.
ํ๋๋์คํฌ๋, ํด๋ผ์ฐ๋์ ์กด์ฌํ๋ ๋ฌดํํ ๋ฐ์ดํฐ๋ค์ ์ ํํ ๊ฐ์์ ํด์๊ฐ์ผ๋ก ๋งคํํ๋ฉด ์์ ๋ฉ๋ชจ๋ฆฌ๋ก๋ ํ๋ก์ธ์ค ๊ด๋ฆฌ๊ฐ ๊ฐ๋ฅํด์ง๊ณ , ์ธ์ ๋ ๋์ผํ ํด์๊ฐ ๋ฆฌํด, index๋ฅผ ์๋ฉด ๋น ๋ฅธ ๋ฐ์ดํฐ ๊ฒ์์ด ๊ฐ๋ฅํด์ง๋๋ค.
ํด์ํ ์ด๋ธ์ ์๊ฐ๋ณต์ก๋ O(1) - (์ด์งํ์ํธ๋ฆฌ๋ O(logN))
์ฒด์ด๋ (Chaining)
์ฒด์ด๋์ ํด์ ํ
์ด๋ธ์ ๊ฐ ๋ฒํท๋ง๋ค ์ฐ๊ฒฐ ๋ฆฌ์คํธ(๋๋ ๋ค๋ฅธ ์๋ฃ๊ตฌ์กฐ)๋ฅผ ์ฌ์ฉํ์ฌ ์ถฉ๋๋ ๋ฐ์ดํฐ๋ค์ ๊ทธ๋ฃนํํ๋ ๋ฐฉ์์
๋๋ค.
์ถฉ๋์ด ๋ฐ์ํ๋ฉด ํด๋น ๋ฒํท์ ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ๋ ๋ฐฉ์์ผ๋ก ์ถฉ๋์ ํด๊ฒฐํฉ๋๋ค.
์ฅ์ : ๊ตฌํ์ด ๊ฐ๋จํ๋ฉฐ, ๋์ ์ธ ํฌ๊ธฐ ์กฐ์ ์ด ์ฉ์ดํฉ๋๋ค.
๋จ์ : ๋ง์ ๋ฐ์ดํฐ๊ฐ ๋์ผํ ๋ฒํท์ ๋ชจ์ด๋ฉด ์ฑ๋ฅ์ด ์ ํ๋ ์ ์์ต๋๋ค.
์คํ ์ด๋๋ ์ฑ (Open Addressing)
์คํ ์ด๋๋ ์ฑ์ ํด์ ํ
์ด๋ธ ๋ด ๋ค๋ฅธ ์์น์ ๋ฐ์ดํฐ๋ฅผ ์ฐพ์์ ์ ์ฅํ๋ ๋ฐฉ์์
๋๋ค.
์ถฉ๋์ด ๋ฐ์ํ๋ฉด ๋ค๋ฅธ ์์น๋ฅผ ์ฐพ์๋ณด๋ฉฐ ๋ฐ์ดํฐ๋ฅผ ์ฝ์
ํฉ๋๋ค.
์ ํ ํ์ฌ, ์ ๊ณฑ ํ์ฌ ๋ฑ์ด ์ด์ ํด๋นํฉ๋๋ค.
์ ํ ํ์ฌ (Linear Probing)
์ ํ ํ์ฌ๋ ์ถฉ๋์ด ๋ฐ์ํ๋ฉด ๋ฐ๋ก ๋ค์ ์์น๋ฅผ ํ์ธํ๊ณ , ๊ณ์ํด์ ๋ค์ ์์น๋ก ์ด๋ํ๋ฉฐ ๋น ๊ณต๊ฐ์ ์ฐพ๋ ๋ฐฉ์์
๋๋ค. ์ ํด์ง ๊ณ ์ ํญ์ผ๋ก ์ฎ๊ฒจ ํด์๊ฐ์ ์ค๋ณต์ ํผํฉ๋๋ค.
์ฅ์ : ๊ตฌํ์ด ๋น๊ต์ ๊ฐ๋จํฉ๋๋ค.
๋จ์ : ํด๋ฌ์คํฐ๋ง ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ด ์ผ๋ถ ๋ฒํท์ ๋ฐ์ดํฐ๊ฐ ๋ชฐ๋ฆฌ๋ ํ์์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
์ ๊ณฑ ํ์ฌ (Quadratic Probing)
์ ๊ณฑ ํ์ฌ๋ ์ถฉ๋์ด ๋ฐ์ํ๋ฉด ์ผ์ ๊ฐ๊ฒฉ๋งํผ ์ด๋ํ๋ฉฐ ๋น ๊ณต๊ฐ์ ์ฐพ๋ ๋ฐฉ์์
๋๋ค. ์ ํด์ง ๊ณ ์ ํญ์ ์ ๊ณฑ์๋ก ์ฎ๊ฒจ ํด์๊ฐ์ ์ค๋ณต์ ํผํฉ๋๋ค.
์ฅ์ : ์ ํ ํ์ฌ์ ํด๋ฌ์คํฐ๋ง ๋ฌธ์ ๋ฅผ ์ด๋ ์ ๋ ํด๊ฒฐํ ์ ์์ต๋๋ค.
๋จ์ : ํน์ ํจํด์์๋ ๊ฐ์ ์์น๋ฅผ ๊ณ์ํด์ ํ์ฌํ ์ ์์ด ์ผ๋ถ ์ํฉ์์ ์ฑ๋ฅ ์ ํ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
ํผ๋๋ฐฑ ๋ฐ ๊ฐ์ ์ ์ ๋๊ธ์ ํตํด ์๋ ค์ฃผ์ธ์๐