๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

CS22

3. STL ๋”ฐ๋ผ์žก๊ธฐ - ๋‹จ์ˆœ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ (Singly Linked List) ๊ตฌํ˜„ ๋‹จ์ˆœ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋ž€ ? ์ด์ „ 2. Linked List (์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ) ํฌ์ŠคํŠธ์—์„œ ์„ค๋ช…๋œ ๋‚ด์šฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๋Š” ๋ฐ์ดํ„ฐ ๊ฐ„์— '์—ฐ๊ฒฐ'๋˜์–ด ์žˆ๋‹ค๊ณ  ํ–ˆ๋Š”๋ฐ, ์—ฐ๊ฒฐ์€ ์•„๋ž˜์™€ ๊ฐ™์ด ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. A ์—์„œ B๋กœ ๊ฐˆ ๋•Œ(๋‹จ๋ฐฉํ–ฅ), A ใ…ก> B ๋˜๋Š” B ใ…ก> A A ์—์„œ B๋กœ ๊ฐ€๊ณ  B์—์„œ๋„ A๋กœ ๊ฐˆ ์ˆ˜ ์žˆ์„ ๋•Œ(์–‘๋ฐฉํ–ฅ), A B ๋˜๋Š” A ใ…ก B ๋‹จ์ˆœ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๋Š” ์ด ์ค‘, ๋‹จ๋ฐฉํ–ฅ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋‹จ์ˆœ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ์ด๋‹ค. ๋Œ€์‹ , ์ฃผ์˜ํ•  ์ ์ด ์žˆ๋‹ค. A๊ฐ€ ์‹œ์ž‘์ , B๊ฐ€ ์ข…์ ์ธ ๊ฒฝ์šฐ์—๋Š” B์—์„œ A๋กœ ๊ฐˆ ์ˆ˜ ์—†๋‹ค. ์ฆ‰, ์ˆœํ™˜์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ ์ด๋‹ค. A ใ…ก> B ใ…ก> A ใ…ก > B ( X ) A ใ…ก> B ใ…ก> ๋ ( O ) ๋‹จ์ˆœ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๋Š” ์ด๊ฒŒ ๋์ด๋‹ค. ๊ทธ๋Ÿผ, ์ฃผ๋กœ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉ๋˜๊ณ .. 2024. 2. 4.
2. ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ (Linked List) ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋ž€ ? ๋จผ์ €, List๋ฅผ ์ƒ๊ฐํ•˜๋ฉด ์ญ‰ ~ ๋‚˜์—ด๋˜์–ด ์žˆ๋Š” ๊ฒƒ์ด ๋– ์˜ค๋ฅด์‹œ๋‚˜์š”? ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋Š” ๋ง ๊ทธ๋Œ€๋กœ ์ญ‰ ~ ๋‚˜์—ด๋˜์–ด ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋กœ ์—ฐ๊ฒฐํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ด์ฃ . ์–ด? ์ญ‰ ~ ๋‚˜์—ด๋˜์–ด์žˆ๊ณ  ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋Š” ๊ฒƒ์€ '๋ฐฐ์—ด' ์•„๋‹Œ๊ฐ€์š”? ๋งž์Šต๋‹ˆ๋‹ค. ์ž๋ฃŒ๊ตฌ์กฐ์˜ ๊ธฐ๋ณธ์ด์ž ๋ฐ์ดํ„ฐ๊ฐ€ ์ˆœ์ฐจ์ ์œผ๋กœ ๋‚˜์—ด๋˜์–ด ์žˆ๋Š” ๊ฒƒ์€ ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ์—ฐ์†๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ๋ฐฐ์—ด(Array)๊ฐ€ ์žˆ๋Š”๋ฐ ์™œ Linked List๋ฅผ ์‚ฌ์šฉํ•˜๋‚˜์š”? ๋ฐฐ์—ด๊ณผ Linked List์—๋Š” ์—„์—ฐํ•œ ์ฐจ์ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์•ž์„  ํฌ์ŠคํŒ…์—์„œ ๊ฐ ์ž๋ฃŒ๊ตฌ์กฐ๋Š” ํ•„์š”์— ๋”ฐ๋ฅธ ์‚ฌ์šฉ์ฒ˜๊ฐ€ ์žˆ๊ณ , ์‚ฌ์šฉ์ž๊ฐ€ ์œ ๋™์ ์œผ๋กœ ์‚ฌ์šฉํ•ด์•ผ ํ•จ์„ ํ‘œํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋ฐฐ์—ด์ด๋ผ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์— ๋Œ€ํ•ด ์•Œ๊ณ  Linked List๋ผ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์™€์˜ ์ฐจ์ด์ ์„ ์•Œ์•„์•ผํ•ฉ๋‹ˆ๋‹ค. ์ฐจ์ด์ ์„.. 2024. 2. 4.
2024. ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ ๊ณต๋ถ€ ์‹œ์ž‘ 2024๋…„ ์ •๊ธฐ ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ ํ•„๊ธฐ ์‹œํ—˜ ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ์— ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ ์ž๊ฒฉ์ฆ์— ๋Œ€ํ•ด ํฌ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•˜๊ฒŒ ๋๋„ค์š”. ์ €๋Š” ์ „๊ณต์ด ์ปดํ“จํ„ฐ ๊ณตํ•™์ด๊ณ  ํฌ๋ง ์—…๋ฌด๊ฐ€ IT ์—…๋ฌด๋‹ค๋ณด๋‹ˆ.. ์ž๊ฒฉ์ฆ ๊ณต๋ถ€๋ฅผ ํ•  ํ•„์š”๊ฐ€ ์žˆ์„๊นŒ? ๊ทธ๋ƒฅ ํ”„๋กœ์ ํŠธ ๊ฒฝํ—˜์ด๋‚˜ CS ๊ณต๋ถ€๋ฅผ ํ•˜๋Š”๊ฒŒ ๋” ์ข‹์ง€ ์•Š์„๊นŒ? ์—ฌ๋Ÿฌ ์ƒ๊ฐ์ด ๋งŽ์•˜๋Š”๋ฐ ์ด๋ฒˆ์— ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ ํ•„๊ธฐ ์‹œํ—˜์„ ๋„์ „ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. Why? ์ €๋Š” ๊ต๋‚ด ์ „๊ณต ์ˆ˜์—…์„ ๋ฐ”ํƒ•์œผ๋กœ ์–ด๋А์ •๋„ ๊ณต๋ถ€ํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•œ CS ์ง€์‹์ด ๋ถ€์กฑํ•˜๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ซ๊ณ  ์ทจ์—…์„ ์œ„ํ•ด์„œ CS ๊ณต๋ถ€๋ฅผ ํ•ด์•ผ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ๊ฐ€ CS ๋‚ด์šฉ์„ ๋งŽ์ด ๋‹ด๊ณ  ์žˆ๋”๋ผ๊ตฌ์š”?? ๊ทธ๋Ÿผ, ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ ๊ณต๋ถ€๋ฅผ ํ•˜๋ฉด์„œ ์กฐ๊ฐํ™”ํ•˜๋“ฏ์ด ์–ด๋А ์ •๋„์˜ ์ง€์‹์ด ๋” ์ฑ„์›Œ์งˆ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก , ์ž๊ฒฉ์ฆ ์ทจ๋“์ด ๋ชฉ์ ์ด๊ณ  CS ๊ณต๋ถ€์˜ ์ดˆ์ ์ด .. 2024. 1. 27.
1. ์ž๋ฃŒ๊ตฌ์กฐ๋ž€? Data Structure ์ปดํ“จํ„ฐ๋Š” Data์˜ ์ง‘ํ•ฉ์ฒด์ž…๋‹ˆ๋‹ค. ์ปดํ“จํ„ฐ์—์„œ Data๋ฅผ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์ด ์žˆ๊ฒ ์ฃ ? ์‹ค์ œ๋กœ ์‚ฌ๋žŒ์ด ์ƒ๊ฐํ•˜๊ธฐ์— ์ง๊ด€์ ์ด๊ฑฐ๋‚˜ ์ˆ˜ํ•™์ , ๋…ผ๋ฆฌ์ ์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ๊ณ ๋ฅผ ์ปดํ“จํ„ฐ์˜ ์ž…์žฅ์—์„œ ํ‘œํ˜„ํ•œ ๊ฒƒ์ด ์ž๋ฃŒ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ์ปดํ“จํ„ฐ๋Š” ์‚ฌ๋žŒ๊ณผ ๋‹ค๋ฅด๊ฒŒ ์ƒ๊ฐ์„ ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก '๋ช…๋ น'์„ ํ•ด์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. How ? ์–ด๋–ป๊ฒŒ ์ปดํ“จํ„ฐ์—๊ฒŒ ๋ช…๋ น์„ ํ•ด์•ผ ํ• ๊นŒ์š”? ๊ธฐ๋ณธ์ ์œผ๋กœ ์ปดํ“จํ„ฐ๋Š” ๋ณ€์ˆ˜์— ๊ฐ’์„ ํ• ๋‹นํ•˜๊ณ  ์ž…, ์ถœ๋ ฅ์„ ํ†ตํ•ด ์šฐ๋ฆฌ๊ฐ€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋•Œ, 1, 2, 3, 4, 5, 7 ์ด ์žˆ์„ ๋•Œ '6'์„ ์ถ”๊ฐ€ํ•˜๋Š”๋ฐ ์ˆœ์„œ๋ฅผ ์œ ์ง€ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๊ฒฐ๊ณผ๋ฅผ 1 2 3 4 5 6 7๋กœ ๋‚˜ํƒ€๋‚ด๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๋ฐฉ๋ฒ•์€ ๋ฌด์ˆ˜ํžˆ ๋งŽ์€๋ฐ์š”. vector arr = {1, 2, 3, 4, 5, 7};.. 2024. 1. 26.