Data Structure(์ž๋ฃŒ ๊ตฌ์กฐ) ๐Ÿ“šPart.2 Set,Dictionary(HashTable)

Jung Hyun Kimยท2020๋…„ 6์›” 15์ผ
0

Data Structure(์ž๋ฃŒ๊ตฌ์กฐ)

๋ชฉ๋ก ๋ณด๊ธฐ
1/5

Data Structure(์ž๋ฃŒ ๊ตฌ์กฐ) ๐Ÿ“šPart.2 Set,dictionary(HashTable)

โœ”๏ธData Structure์˜ ๊ฐœ๋… ํ•„์š”์„ฑ, ๊ทธ๋ฆฌ๊ณ  ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ์ž๋ฃŒ๊ตฌ์กฐ์— ๋Œ€ํ•ด ์ดํ•ดํ•œ๋‹ค.
โœ”๏ธSet์˜ ๊ฐœ๋…๊ณผ ์žฅ์ , ๋‹จ์ , ๊ทธ๋ฆฌ๊ณ  ์–ธ์ œ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์€์ง€ ์ดํ•ดํ•œ๋‹ค.
โœ”๏ธDictionary์˜ ๊ฐœ๋…๊ณผ ์ƒ์„ฑ๋ฐฉ๋ฒ• ๊ทธ๋ฆฌ๊ณ  ์–ด๋–ป๊ฒŒ ์ ‘๊ทผํ•˜๋Š”์ง€ ์ดํ•ดํ•œ๋‹ค.

1. Set

๋น„ ์ˆœ์ฐจ์ ์œผ๋กœ ์ €์žฅํ•˜๋Š” ๊ฐ์ฒด

MDN ๊ณต์‹๋ฌธ์„œ Set ์„ค๋ช…

  • Array ์™€ ๋น„์Šทํ•˜์ง€๋งŒ ์ค‘๋ณต ๊ฐ’์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • ๋น„ ์ˆœ์ฐจ์ ์œผ๋กœ ๊ฐ’์„ ์ €์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์ˆœ์„œ๊ฐ€ ์—†์œผ๋ฏ€๋กœ indexing๋„ ์—†๋‹ค
  • ํ•ด์‰ฌ ๊ฐ’ ๊ธฐ๋ฐ˜์œผ๋กœ bucket์— ์ €์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ค‘๋ณต๋œ ๊ฐ’์„ ์ €์žฅํ• ์ˆ˜ ์—ˆ๋‹ค.
  • ํŠน์ • ๊ฐ’์„ ํฌํ•จํ•˜๋Š”์ง€ ์•Œ์•„๋ณด๋Š” lookup์— ์šฉ์ดํ•˜๋‹ค.

2. Dictionary/Hash Table

key-valueํ˜•ํƒœ๋กœ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ์ž๋ฃŒ ๊ตฌ์กฐ

  • key ๊ฐ’์ด ์ค‘๋ณต๋˜์ง€ ์•Š์œผ๋ฉฐ, set์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๊ณ  ํŠน์ •์ˆœ์„œ๋Œ€๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฆฌํ„ดํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • set๊ณผ ๋น„์Šทํ•˜๊ฒŒ ํ•ด์‹œ๊ฐ’์„ ๊ตฌํ•œ๋’ค ํ•ด์‹œ๊ฐ’์˜ bucket์— ๊ฐ’์„ ์ €์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์ˆœ์„œ๊ฐ€ ์—†๊ณ  ์ค‘๋ถ๋˜์ง€ ์•Š์€ key๊ฐ’์˜ ํ—ˆ์šฉ์ด ๊ฐ€๋Šฅํ•œ ๊ฒƒ ์ด๋‹ค.

When To Use Dictionary

๋งˆ์น˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ฒ˜๋Ÿผ ํ‚ค์™€ ๊ฐ’์„ ๋ฌถ์–ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„ํ•ด์•ผ ํ• ๋•Œ ์œ ์šฉํ•˜๋‹ค. ์‹ค์ œ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—์„œ ์ฝ์–ด๋“ค์ธ ๊ฐ’์„ dictionary๋กœ ๋ณ€ํ™˜ํ•ด์„œ ์‚ฌ์šฉ ์ž์ฃผ ํ•จ.

profile
์ฝ”๋ฆฐ์ด ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž๐Ÿ’ป๐Ÿ’›๐Ÿค™๐Ÿผ

0๊ฐœ์˜ ๋Œ“๊ธ€