ํŠธ๋ฆฌ 2

๐Ÿ“š [CS๋ฉด์ ‘] ์›น ๋ฉด์ ‘ ์งˆ๋ฌธ [10] [์ž๋ฃŒ๊ตฌ์กฐ]

1. ์ž๋ฃŒ๊ตฌ์กฐ๋ž€ ? ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ๋“ค์˜ ๋ฌถ์Œ์„ ์ €์žฅํ•˜๊ณ , ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ •์˜ํ•œ ๊ฒƒ 2. ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  ? 1. ๋ฐ์ดํ„ฐ๋ฅผ ์ฒด๊ณ„์ ์œผ๋กœ ์ €์žฅํ•˜๊ณ , ํšจ์œจ์ ์œผ๋กœ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. 2. ๋Œ€๋ถ€๋ถ„์˜ ์ž๋ฃŒ๊ตฌ์กฐ๋Š” ํŠน์ • ์ƒํ™ฉ์— ๋†“์ธ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ์— ํŠนํ™”๋˜์–ด ์žˆ๋‹ค. 3. ์ž๋ฃŒ๊ตฌ์กฐ์˜ ์ข…๋ฅ˜์™€ ๊ตฌ๋ถ„ ์„ ํ˜•๊ตฌ์กฐ - ๋ฐฐ์—ด(Array) - ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ(LinkedList) - ์Šคํƒ(Stack) - ํ(Queue) ๋น„์„ ํ˜•๊ตฌ์กฐ - ํŠธ๋ฆฌ(Tree) - ๊ทธ๋ž˜ํ”„(Graph) Stack, Queue, Tree, Graph๊ฐ€ ์ผ๋ฐ˜์ ์œผ๋กœ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. ์Šคํƒ [Stack] LIFO(Last In First Out) ์ฆ‰, ์Šคํƒ์€ ๋งˆ์ง€๋ง‰์— ๋“ค์–ด์˜จ ๊ฒƒ์ด ๊ฐ€์žฅ ๋จผ์ €๋‚˜๊ฐ€๋Š” ํ›„์ž…์„ ์ถœ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. ..

[์ด๊ฒƒ์ด ์ทจ์—…์„ ์œ„ํ•œ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ] ํŠธ๋ฆฌ ์ž๋ฃŒ๊ตฌ์กฐ

ํŠธ๋ฆฌ ์ž๋ฃŒ๊ตฌ์กฐ ์•ž์„œ ๋งํ•œ ์ด์ง„ ํƒ์ƒ‰์€ ์ „์ œ ์กฐ๊ฑด์ด ๋ฐ์ดํ„ฐ๊ฐ€ ์ •๋ ฌ๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋™์ž‘ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ •๋ ฌํ•ด๋‘๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์œผ๋ฏ€๋กœ ์ด์ง„ ํƒ์ƒ‰์„ ํšจ๊ณผ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋‚ด๋ถ€์ ์œผ๋กœ ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์— ์ ํ•ฉํ•œ ํŠธ๋ฆฌ(tree) ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ด์š”ํ•˜์—ฌ ํ•ญ์ƒ ๋ฐ์ดํ„ฐ๊ฐ€ ์ •๋ ฌ๋˜์–ด ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ์˜ ํƒ์ƒ‰์€ ์ด์ง„ ํƒ์ƒ‰๊ณผ๋Š” ์กฐ๊ธˆ ๋‹ค๋ฅด์ง€๋งŒ, ์ด์ง„ ํƒ์ƒ‰๊ณผ ์œ ์‚ฌํ•œ ๋ฐฉ๋ฒ•์„ ์ด์šฉํ•ด ํƒ์ƒ‰์„ ํ•ญ์ƒ ๋น ๋ฅด๊ฒŒ ์ˆ˜ํ–‰ํ•˜๋„๋ก ์„ค๊ณ„๋˜์–ด ์žˆ์–ด์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์•„๋„ ํƒ์ƒ‰ํ•˜๋Š” ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค. ํŠธ๋ฆฌ ์ž๋ฃŒ๊ตฌ์กฐ๋ž€ ๋ฌด์—‡์ธ๊ฐ€? ํŠธ๋ฆฌ ์ž๋ฃŒ๊ตฌ์กฐ๋Š” ๋…ธ๋“œ์™€ ๋…ธ๋“œ์˜ ์—ฐ๊ฒฐ๋ฃŒ ํ‘œํ˜„ํ•˜๋ฉฐ ์—ฌ๊ธฐ์—์„œ ๋…ธ๋“œ๋Š” ์ •๋ณด์˜ ๋‹จ์œ„๋กœ์„œ ์–ด๋– ํ•œ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฐœ์ฒด๋กœ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ž˜ํ”„๋ฅผ ๋‹ค๋ฃฐ ๋•Œ ๋‚˜์˜จ ๋…ธ๋“œ์™€ ๋™์ผํ•˜๋‹ค. ์ตœ๋‹จ ๊ฒฝ๋กœ์—์„œ๋Š” ๋…ธ..