๐Ÿ“‚ ์ž๋ฃŒ๊ตฌ์กฐ

[์ž๋ฃŒ๊ตฌ์กฐ] 05. ํ•ด์‰ฌ ํ…Œ์ด๋ธ”(Hash Table)

seonghye0n 2023. 6. 19. 15:39

ํ•ด์‰ฌ ํ…Œ์ด๋ธ”

ํ•ด์‰ฌ ํ…Œ์ด๋ธ”์€ ํ•ด์‹œ ๊ฐ’์„ index๋กœ ์‚ผ์•„ key์™€ value๋ฅผ ์ €์žฅํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค.

๋น ๋ฅธ ๊ฒ€์ƒ‰์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ์— ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ธ๋ฐ ๋‚ด๋ถ€์ ์œผ๋กœ ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ’์„ ์ €์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ํ•ด์‰ฌ ํ…Œ์ด๋ธ”์€ ๊ฐ Key ๊ฐ’์— ํ•ด์‰ฌํ•จ์ˆ˜๋ฅผ ์ ์šฉํ•ด ๋ฐฐ์—ด์˜ ๊ณ ์œ ํ•œ index๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ์ด index๋ฅผ ํ™œ์šฉํ•ด ๊ฐ’์„ ์ €์žฅํ•˜๊ฑฐ๋‚˜ ๊ฒ€์ƒ‰ํ•œ๋‹ค. ์ด๋•Œ ์‹ค์ œ ๊ฐ’์ด ์ €์žฅ๋˜๋Š” ์žฅ์†Œ๋ฅผ ๋ฒ„ํ‚ท์ด๋ผ๊ณ  ํ•œ๋‹ค.

 

์ž๋ฐ”์—์„œ ์ œ๊ณตํ•˜๋Š” Hashtable ํด๋ž˜์Šค๋ฅผ ์‚ดํŽด๋ณด๋ฉด ํ•ด๋‹น ์ž๋ฃŒ๊ตฌ์กฐ์— ๊ฐ’์„ ์ €์žฅํ•  ๋•Œ ์•„๋ž˜์˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ๋™์ž‘ํ•œ๋‹ค.

key๋ฅผ ์ž๋ฐ”์—์„œ ์ œ๊ณตํ•˜๋Š” ํ•ด์‰ฌํ•จ์ˆ˜์ธ hashCode()๋ฅผ ์ด์šฉํ•˜์—ฌ ํ•ด์‰ฌ ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝํ•˜๊ณ  ๊ทธ ๋ณ€๊ฒฝํ•œ ๊ฐ’์„ ์ธ๋ฑ์Šค ๊ฐ’์œผ๋กœ ๋˜ ๊ณ„์‚ฐํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.


์‹œ๊ฐ„๋ณต์žก๋„

์ถ”๊ฐ€, ์‚ญ์ œ : O(1)

๊ฒ€์ƒ‰ : O(1)

 

ํ•˜์ง€๋งŒ ํ•ด์‰ฌ ์ถฉ๋Œ์ด ์ผ์–ด๋‚  ๊ฒฝ์šฐ O(n)์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Œ.

๋ฐ˜์‘ํ˜•