ํ•ด์‹œํ…Œ์ด๋ธ” 1

[Data Structure] ํ•ด์‹œ ํ…Œ์ด๋ธ” (Hash Table)

ํ•ด์‹œ ํ…Œ์ด๋ธ” (Hash Table) ? ํ‚ค(Key)์— ๋ฐ์ดํ„ฐ(Value)๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ Key๋ฅผ ํ†ตํ•ด ๋ฐ”๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ฌ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ๋น ๋ฅธ ์†๋„ ํŒŒ์ด์ฌ์—์„œ๋Š” ๋”•์…”๋„ˆ๋ฆฌ(Dictionary) ํƒ€์ž…์œผ๋กœ ๊ตฌํ˜„ ๊ฐ€๋Šฅ ๋ณดํ†ต ๋ฐฐ์—ด๋กœ ๋ฏธ๋ฆฌ Hash Table ์‚ฌ์ด์ฆˆ๋งŒํผ ์ƒ์„ฑ ํ›„ ์‚ฌ์šฉ (๊ณต๊ฐ„๊ณผ ํƒ์ƒ‰ ์‹œ๊ฐ„ ๋งž๋ฐ”๊พธ๋Š” ๊ธฐ๋ฒ•) ๊ด€๋ จ ์šฉ์–ด ํ•ด์‹œ(Hash) : ์ž„์˜ ๊ฐ’์„ ๊ณ ์ • ๊ธธ์ด๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ ํ•ด์‹œ ํ…Œ์ด๋ธ”(Hash Table) : ํ‚ค ๊ฐ’์˜ ์—ฐ์‚ฐ์— ์˜ํ•ด ์ง์ ‘ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ํ•ด์‹ฑ ํ•จ์ˆ˜(Hashing Function) : Key์— ๋Œ€ํ•ด ์‚ฐ์ˆ  ์—ฐ์‚ฐ์„ ์ด์šฉํ•ด, ๋ฐ์ดํ„ฐ ์œ„์น˜๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜ ํ•ด์‹œ ๊ฐ’(Hash Value), ํ•ด์‹œ ์ฃผ์†Œ(Hash Address) : Key๋ฅผ ํ•ด์‹ฑ ํ•จ์ˆ˜๋กœ ์—ฐ์‚ฐํ•ด์„œ, ํ•ด์‹œ ๊ฐ’์„ ์•Œ์•„๋‚ด..