Hash, Map, HashMap

Hash

ํ•ด์‹œ ํ•จ์ˆ˜ (ํ•ด์‹œ ์•Œ๊ณ ๋ฆฌ์ฆ˜)

  • ์ž„์˜ ๊ธธ์ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ณ ์ •๋œ ๊ธธ์ด์˜ ๋ฐ์ดํ„ฐ๋กœ ๋งคํ•‘(๋ณ€ํ™˜)ํ•˜๋Š” ํ•จ์ˆ˜

  • ๊ฒฐ๊ณผ๊ฐ’์„ ํ•ด์‹œ ๋˜๋Š” ํ•ด์‹œ๊ฐ’ ์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

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

  • ํ•ด์‹œ ํ•จ์ˆ˜์˜ ์šฉ๋„ ์ค‘ ํ•˜๋‚˜๋กœ, ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ์ž๋ฃŒ ๊ตฌ์กฐ

  • ๋น ๋ฅธ ํƒ์ƒ‰ ์‹œ๊ฐ„์„ ๋ณด์žฅํ•œ๋‹ค.

  • Key-Value ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๋ฉฐ ํ•ด์‹œ๊ฐ’์„ Key, ์›๋ž˜ ๊ฐ’์„ Value๋กœ ํ•œ๋‹ค.

  • ์„œ๋กœ ๋‹ค๋ฅธ Value์— ๋Œ€ํ•ด ํ•ด์‹œ ํ•จ์ˆ˜๊ฐ€ ๋™์ผํ•œ Key๋ฅผ ์ƒ์„ฑํ•ด๋‚ด๋Š” ๊ฒฝ์šฐ, ์ด๋ฅผ ํ•ด์‹œ ์ถฉ๋Œ์ด๋ผ๊ณ  ํ•œ๋‹ค. ํ•ด์‹œ ์ถฉ๋Œ์˜ ํ•ด๊ฒฐ๋ฒ•์œผ๋กœ๋Š” ๋‹ค๋ฅธ ์žฅ์†Œ๋ฅผ ์ฐพ๋Š” ๋ฒ•, ๋งํฌ๋“œ๋ฆฌ์ŠคํŠธ๋ฅผ ํ†ตํ•ด ๊ฐ™์€ Key์— ์—ฌ๋Ÿฌ Value๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฒ•์ด ์žˆ๋‹ค.

Map

  • Key์™€ Value๋กœ ์ด๋ฃจ์–ด์ง„ ์ž๋ฃŒ๊ตฌ์กฐ

  • Key์˜ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.

  • O(1)์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ๋ณด์žฅํ•œ๋‹ค.

HashMap

  • Map์€ key,value ์Œ์„ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•œ ๊ตฌํ˜„ ๋ฐฉ๋ฒ•์„ ๊ฐ€์ง„๋‹ค. ๊ทธ ์ค‘ ํ•ด์‹ฑ์„ ์ด์šฉํ•ด ์ €์žฅ ์œ„์น˜๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ด ๊ตฌํ˜„๋œ ์ž๋ฃŒ๊ตฌ์กฐ๊ฐ€ ๋ฐ”๋กœ HashMap์ด๋‹ค.

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

  • HashMap์€ ํ•ด์‹œ ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด (key, value) ์Œ์ด ์ €์žฅ๋  ์œ„์น˜๋ฅผ ๊ฒฐ์ •ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฝ์ž… ์ˆœ์„œ์™€ ์œ„์น˜๊ฐ€ ๊ด€๋ จ์ด ์—†์œผ๋ฉฐ, ์‚ฌ์šฉ์ž๋Š” ๊ทธ ์œ„์น˜๋ฅผ ์•Œ ์ˆ˜ ์—†๋‹ค.

์ถœ์ฒ˜

https://tecoble.techcourse.co.kr/post/2021-11-05-hash-hashmap/

https://coding-factory.tistory.com/556

Last updated