[์ž๋ฃŒ๊ตฌ์กฐ] ํ•ด์‹œ ํ…Œ์ด๋ธ”(Hash Table) ์ด๋ž€?
ยท
๐Ÿ“š ์ž๋ฃŒ๊ตฌ์กฐ ๋ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜/ํ•ด์‹œ
ํ•ด์‹œ ํ…Œ์ด๋ธ”์ด๋ž€? ํ•ด์‹œ ํ…Œ์ด๋ธ”์€ (Key, Value)์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ ์ค‘ ํ•˜๋‚˜๋กœ key๋ฅผ ํ†ตํ•ด ํ‰๊ท  O(1)์— value๋ฅผ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. ํ•ด์‹œ ํ…Œ์ด๋ธ”์€ ํ‚ค๊ฐ’์„ ํ•ด์‹œํ•จ์ˆ˜(Hash Function)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ€ํ™˜ํ•œ ๊ฐ’์„ ์ƒ‰์ธ(index)์œผ๋กœ ์‚ผ๋Š”๋‹ค. ํ•ด์‹œ ํ•จ์ˆ˜(Hash Function)์„ ์‚ฌ์šฉํ•ด ํ‚ค๊ฐ’์„ ์ƒ‰์ธ(index)์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •์„ ํ•ด์‹ฑ(Hashing)์ด๋ผ๊ณ  ํ•œ๋‹ค. ํ•ด์‹œ ํ•จ์ˆ˜ ํ•ด์‹œ ํ•จ์ˆ˜์˜ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์ ์€ ๊ณ ์œ ํ•œ ์ธ๋ฑ์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋‹ค. ๋งŒ์•ฝ ์ค‘๋ณต๋˜๋Š” ์ธ๋ฑ์Šค๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๋ฉด ์ด๋Š” ์ถฉ๋Œ(Collision)์œผ๋กœ ์ด์–ด์ง€๊ฒŒ ๋œ๋‹ค. ๋”ฐ๋ผ์„œ ํ•ด์‹œ ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ํ•ด์‹œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ ์ ˆํžˆ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค. ํ•ด์‹œ ํ…Œ์ด๋ธ”์— ์‚ฌ์šฉ๋˜๋Š” ๋Œ€ํ‘œ์ ์ธ ํ•ด์‹œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒƒ๋“ค์ด ..