[์ž๋ฃŒ๊ตฌ์กฐ] Hash(ํ•ด์‹œ)

ํ•ด์‹œ๋ž€? - Hash ํ˜น์€ HashTable์€ ํ‚ค๋ฅผ ๊ฐ’์— ๋งคํ•‘ํ•  ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ์ธ, ๋‚ด๋ถ€์ ์œผ๋กœ ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. - ์ž„์˜์˜ ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ(Key)๋ฅผ ๊ณ ์ •๋œ ํฌ๊ธฐ์˜ ๋ฐ์ดํ„ฐ(Value)๋กœ ๋ณ€ํ™˜์‹œ์ผœ ์ €์žฅ - ํ‚ค์— ๋Œ€ํ•œ ํ•ด์‹œ๊ฐ’์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ’์„ ์ €์žฅํ•˜๊ณ  ํ‚ค-๊ฐ’ ์Œ์˜ ๊ฐฏ์ˆ˜์— ๋”ฐ๋ผ ๋™์ ์œผ๋กœ ํฌ๊ธฐ๊ฐ€ ์ฆ๊ฐ€ํ•˜๋Š” associate array - ํ‚ค์— ๋Œ€ํ•œ ํ•ด์‹œ๊ฐ’์„ ๊ตฌํ•˜๋Š” ๊ณผ์ •์„ hashing(ํ•ด์‹ฑ)์ด๋ผ ํ•˜๊ณ , ์ด๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ํ•ด์‹œํ•จ์ˆ˜ - ํ•ด์‹œ๊ฐ’ ์ž์ฒด๋ฅผ index๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ‰๊ท  ๋ณต์žก๋„๊ฐ€ O(1)๋กœ ๋งค์šฐ ๋น ๋ฅด๋‹ค - ๋ณด์•ˆ์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ํ•ด์‹œ ํ•จ์ˆ˜๋ž€? - ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด, ์ž„์˜์˜ ๊ธธ์ด์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜ํ•™์  ์—ฐ์‚ฐ์„ ํ†ตํ•ด ๊ณ ์ •๋œ ๊ธธ์ด์˜ ํ…Œ์ดํ„ฐ๋กœ ๋งคํ•‘ํ•˜๋Š” ํ•จ์ˆ˜๋กœ, ํ•ด์‹œ ํ•จ์ˆ˜์— ..

CS/Data Structure 2022. 6. 13. 20:27