์ž๋ฃŒ๊ตฌ์กฐ

ํ•ด์‹œ๋ผ๋Š” ๋‹จ์–ด๋Š” ์•”ํ˜ธํ™” ๊ด€๋ จ ์ •๋ณด๋ฅผ ์•Œ์•„๋ณผ ๋•Œ ์ฃผ๋กœ ๋“ค์—ˆ๋˜ ๋‹จ์–ด ๊ฐ™๋‹ค.์˜ค๋Š˜์€ ํ•ด์‹œ์— ๊ด€๋ จํ•œ ๊ฐœ๋…์— ๋Œ€ํ•ด ์ด ์ •๋ฆฌ๋ฅผ ํ•ด๋ด์•ผ๊ฒ ๋‹ค.Java์—์„œ๋Š” HashTable ๊ณผ HashMap ๋‘˜๋‹ค ์žˆ๋Š”๋ฐ, ์ด ํฌ์ŠคํŒ…์—์„œ๋Š” ๋‘˜์„ ๊ตฌ๋ถ„ ์ง“์ง€๋Š” ์•Š๊ณ , HashMap ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์„ค๋ช…์ž„์„ ์•Œ๋ ค๋“œ๋ฆฌ๋Š” ๋ฐ”์ด๋‹ค. ๐Ÿ“Œ ํ•ด์‹œ ํ…Œ์ด๋ธ” ์ž๋ฃŒ๊ตฌ์กฐ๋Š” ๋ฌด์—‡์ธ๊ฐ€?ํ•ด์‹œ(Hash) ๋‹จ์–ด ์ž์ฒด๋Š” ์–ด๋–ค ๊ฐ’์„ ์ผ์ • ๊ธธ์ด๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ธฐ๋ฒ•์ด๊ณ , ํ•ด์‹œ ํ…Œ์ด๋ธ”์€ ๊ทธ ํ•ด์‹œ ๊ธฐ๋ฒ•์„ ์ ์šฉํ•œ ์ž๋ฃŒ๊ตฌ์กฐ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.๊ฐ„๋‹จํ•˜๊ฒŒ key-value ๊ตฌ์กฐ๋กœ ๋น ๋ฅด๊ฒŒ ๊ฒ€์ƒ‰์„ ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด ํŠน์ง•์ด๋‹ค๋Œ€์ฒด ํ•ด์‹œ ํ…Œ์ด๋ธ”์ด ๋ญ๊ธธ๋ž˜ ๋น ๋ฅด๊ฒŒ ๊ฒ€์ƒ‰์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฑธ๊นŒ?์ž ์šฐ๋ฆฌ๊ฐ€ ์นœ๊ตฌ์˜ ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค๊ณ  ์น˜์ž.๊ฒ€์ƒ‰์ฐฝ์— ์นœ๊ตฌ์˜ ์ด๋ฆ„์„ ์น˜๋ฉด ์ „ํ™”๋ฒˆํ˜ธ๊ฐ€ ๋‚˜์˜ฌ ๊ฒƒ์ด๋‹ค..
๐Ÿ“Œ  ์ž๋ฃŒ ๊ตฌ์กฐ๋Š” ์™œ ๊ณต๋ถ€ํ•ด์•ผํ•˜๋‚˜ 1. ์ž๋ฃŒ ๊ตฌ์กฐ๊ฐ€ ๋ฌด์—‡์ธ๊ฐ€์ž๋ฃŒ ๊ตฌ์กฐ = Data + Structure = ์ž๋ฃŒ๋“ค์˜ ์ง‘ํ•ฉ์ฆ‰, ์ž๋ฃŒ๊ฐ€ ๋ญ‰์ณ์žˆ๋Š” ์ƒ๊น€์ƒˆ๋ฅผ ๋งํ•œ๋‹ค.์ž๋ฃŒ ๊ตฌ์กฐ๋Š” ๋ฐ์ดํ„ฐ๋“ค์˜ ๊ด€๊ณ„๊ฐ€ ๋…ผ๋ฆฌ์ ์œผ๋กœ ์ •์˜๋œ ์ผ์ •ํ•œ ๊ทœ์น™์— ์˜ํ•ด ๋‚˜์—ด๋œ๋‹ค.์ž๋ฃŒ์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ž๋ฃŒ๋ฅผ ์กฐ์ง์ , ์ฒด๊ณ„์ ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ํ‘œํ˜„ํ•œ๊ฑฐ๋‹ค.์ด๋Ÿฐ ์‹์œผ๋กœ ๋”ฑ๋”ฑ ๊ตฌ๋ถ„์ง€์–ด์„œ ์˜ˆ์˜๊ฒŒ ๋†“์€ ๊ฑฐ๋ž€ ๋ง์ด๋‹ค. 2. ์ž๋ฃŒ ๊ตฌ์กฐ์˜ ๋ชฉ์ ์ž๋ฃŒ๊ตฌ์กฐ์˜ ๋ชฉ์ ์€ ํฌ๊ฒŒ 3๊ฐ€์ง€์ด๋‹ค.1. ํšจ์œจ์ ์ธ ๋ฐ์ดํ„ฐ ์ €์žฅ ๋ฐ ์ ‘๊ทผ2. ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ์˜ ์ตœ์ ํ™”3. ๋ฌธ์ œ ํ•ด๊ฒฐ ๋ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์„ค๊ณ„ ์ง€์›๊ฐ๊ฐ ๋‹ค๋ฅธ ์ฑ…์žฅ์ด ์กด์žฌํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž.1๋ฒˆ ์ฑ…์žฅ์€ ์ฑ…์ด ๋ฌด์ž‘์œ„๋กœ ๊ฝ‚ํ˜€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‚˜์ค‘์— ์›ํ•˜๋Š” ์ฑ…์„ ์ฐพ๊ธฐ๊ฐ€ ์–ด๋ ค์šธ ์ˆ˜ ์žˆ๋‹ค.2๋ฒˆ ์ฑ…์žฅ์€ ์นธ๋งˆ๋‹ค ๊ฐ™์€ ์ƒ‰์ƒ์˜ ์ฑ…์„ ์ง„์—ดํ–ˆ๋‹ค. ..
1. ํ (Queue)ํ๋Š” ์ด๋ ‡๊ฒŒ ์„ ์ž…์„ ์ถœ(FIFO) ๊ตฌ์กฐ์ด๋‹ค.์—ฐ์‚ฐ ๊ณผ์ •์—๋Š”- enqueue : ํ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ๋Š” ์ž‘์—…- dequeue : ํ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊บผ๋‚ด๋Š” ์ž‘์—…- front : ๋ฐ์ดํ„ฐ๋ฅผ ๊บผ๋‚ด๋Š” ๋ถ€๋ถ„์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜- rear : ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ๋Š” ๋ถ€๋ถ„์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜์ด๋Ÿฐ ๊ฐœ๋…๋“ค์ด ๋“ฑ์žฅ ํ•œ๋‹ค. 1. ์‰ฝ๊ฒŒ ์ดํ•ด๋ฅผ ์œ„ํ•ด ์˜ˆ์ œ๋ฅผ ์‚ดํŽด ๋ณด๊ฒ ๋‹ค.์šฐ๋ฆฌ๊ฐ€ ์ค„ ์„œ์žˆ๋Š” ๋Œ€๊ธฐ์—ด์„ ์ƒ๊ฐํ•˜๋ฉด ์‰ฝ๋‹ค.ํ‹ฐ์ผ“ ๋งคํ‘œ์†Œ์— ์ด๋ ‡๊ฒŒ ์ค„์„ ์„œ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž.์ค„์„ ์ œ์ผ ๋จผ์ € ์„  A๊ฐ€ ๋จผ์ € ํ‘œ๋ฅผ ์‚ฌ๊ณ , ์ œ์ผ ๋‚˜์ค‘์— ์„  E๊นŒ์ง€ ๋ชจ๋‘ ์ˆœ์„œ๋Œ€๋กœ ํ‘œ๋ฅผ ์‚ด ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.์ด๋ ‡๊ฒŒ ๊ทผ๋ฐ ์—ฌ๊ธฐ์„œ F๊ฐ€ ๋“ฑ์žฅํ•ด์„œ ์ค„์„ ์„ ๋‹ค.๊ทธ๋Ÿผ ์ด๋•Œ rear๋Š” ์ƒˆ๋กœ ์ถ”๊ฐ€๋œ ๋งจ ๋’ค์˜ F๋กœ ๋œ๋‹ค.์ด F๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ์ž‘์—…์„ enqueue ๋ผ๊ณ  ํ•˜๊ณ , F ์ถ”๊ฐ€ํ•  ์œ„์น˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š”..
ํ‚จ์ง€ (Kinzie)
'์ž๋ฃŒ๊ตฌ์กฐ' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก