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

๐Ÿ“–CS/๐Ÿ“™Data Structure5

[์ž๋ฃŒ๊ตฌ์กฐ] hw1 ์ ๊ทผ ํ‘œ๊ธฐ๋ฒ• ์ฆ๋ช… ๊ณผ์ œ๋Š” 1.3๊ณผ 1.4์˜ ์ฆ๋ช…์ด๋‹ค. 2024. 10. 15.
[์ž๋ฃŒ๊ตฌ์กฐ] Chapter3. STACKS AND QUEUES(2) โ€ป ์ด ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€๋“ค์€ knu EK.Ryu ๊ต์ˆ˜๋‹˜์˜ ์ˆ˜์—…์„ ๋“ฃ๊ณ  ๋‚˜๋ฆ„๋Œ€๋กœ ํ•„์ž๊ฐ€ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค.โ€ป ๋ถ€์กฑํ•œ ์„ค๋ช…์ด ์žˆ๊ฑฐ๋‚˜, ์ž˜๋ชป ์•Œ๊ณ  ์ž‘์„ฑํ•œ ๋ถ€๋ถ„์ด ๋ณด์ธ๋‹ค๋ฉด ๋Œ“๊ธ€๋กœ ์•Œ๋ ค์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค๐Ÿ˜Š3.5 A Mazing Problem๋ฏธ๋กœ(maze)๋Š” ์˜ค๋žซ๋™์•ˆ ํฅ๋ฏธ ์žˆ๋Š” ๋ฌธ์ œ์˜€์Šต๋‹ˆ๋‹ค. ์‹คํ—˜ ์‹ฌ๋ฆฌํ•™์ž๋“ค์€ ์ฅ๊ฐ€ ๋ฏธ๋กœ์—์„œ ์Œ์‹์„ ์ฐพ๋„๋ก ํ›ˆ๋ จ์‹œ์ผœ ์™”๊ณ , ๋งŽ์€ ์ถ”๋ฆฌ ์ž‘๊ฐ€๋“ค์€ ์˜๊ตญ์‹ ์ •์› ๋ฏธ๋กœ๋ฅผ ์‚ด์ธ ์‚ฌ๊ฑด์˜ ๋ฐฐ๊ฒฝ์œผ๋กœ ์ด์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.๋ฏธ๋กœ๋Š” ์Šคํƒ์˜ ์ข‹์€ ์‘์šฉ์ด ๋˜๋ฏ€๋กœ ์šฐ๋ฆฌ๋„ ์ด ๋ฌธ์ œ์— ๋Œ€ํ•ด ๊ด€์‹ฌ์„ ๊ฐ€์ ธ ๋ด…์‹œ๋‹ค. ์ด ์ ˆ์—์„œ๋Š” ๋ฏธ๋กœ๋ฅผ ์ฐพ์•„๋‚ด๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์€ ๋ฏธ๋กœ์—์„œ ์˜ฌ๋ฐ”๋ฅธ ๊ธธ์„ ์ฐพ์„ ๋•Œ๊นŒ์ง€ ์ž˜๋ชป๋œ ๊ฒฝ๋กœ๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ์ทจํ•˜๋‚˜, ์ผ๋‹จ ์˜ฌ๋ฐ”๋ฅธ ๊ธธ์„ ์ฐพ์€ ํ›„์—๋Š” ์ž˜๋ชป๋œ ๊ฒฝ๋กœ๋ฅผ ๊ฑฐ์น˜์ง€ ์•Š๊ณ  ๊ณง๋ฐ”๋กœ ๋ฏธ๋กœ๋ฅผ ๋น ์ ธ๋‚˜๊ฐˆ ์ˆ˜ .. 2024. 10. 15.
[์ž๋ฃŒ๊ตฌ์กฐ] Chapter3. STACKS AND QUEUES(1) โ€ป ์ด ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€๋“ค์€ knu EK.Ryu ๊ต์ˆ˜๋‹˜์˜ ์ˆ˜์—…์„ ๋“ฃ๊ณ  ๋‚˜๋ฆ„๋Œ€๋กœ ํ•„์ž๊ฐ€ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค.โ€ป ๋ถ€์กฑํ•œ ์„ค๋ช…์ด ์žˆ๊ฑฐ๋‚˜, ์ž˜๋ชป ์•Œ๊ณ  ์ž‘์„ฑํ•œ ๋ถ€๋ถ„์ด ๋ณด์ธ๋‹ค๋ฉด ํŽธํ•˜๊ฒŒ ๋Œ“๊ธ€๋กœ ์•Œ๋ ค์ฃผ์‹œ๋ฉด ์ •๋ง ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค๐Ÿ˜Š3.1 Stack์Šคํƒ์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์‚ญ์ œํ•˜๋Š”๋ฐ LIFO(Last In, First Out) ๋ฐฉ์‹์œผ๋กœ ์ž‘๋™ํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ๋งˆ์ง€๋ง‰์— ๋“ค์–ด์˜จ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฐ€์žฅ ๋จผ์ € ๋‚˜๊ฐ€๋Š” ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค.์œ„ ๊ทธ๋ฆผ์—์„œ ๋ณด์ด๋Š” ๊ฒƒ์ฒ˜๋Ÿผ, A, B, C, D, E ์ˆœ์„œ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ๊ณ , ์‚ญ์ œํ•  ๋•Œ๋Š” E๋ถ€ํ„ฐ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค. ์Šคํƒ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ๊ณ (push), ๋นผ๋Š”(pop) ํ•จ์ˆ˜์— ๋Œ€ํ•ด์„œ ์•„๋ž˜์—์„œ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.void push(element item) // ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€{ if (top >= MAX_STACK_SIZE - 1.. 2024. 10. 5.
[์ž๋ฃŒ๊ตฌ์กฐ] Chapter2. Arrays and Structures(2) โ€ป ์ด ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€๋“ค์€ knu EK.Ryu ๊ต์ˆ˜๋‹˜์˜ ์ˆ˜์—…์„ ๋“ฃ๊ณ  ๋‚˜๋ฆ„๋Œ€๋กœ ํ•„์ž๊ฐ€ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค.โ€ป ๋ถ€์กฑํ•œ ์„ค๋ช…์ด ์žˆ๊ฑฐ๋‚˜, ์ž˜๋ชป ์•Œ๊ณ  ์ž‘์„ฑํ•œ ๋ถ€๋ถ„์ด ๋ณด์ธ๋‹ค๋ฉด ํŽธํ•˜๊ฒŒ ๋Œ“๊ธ€๋กœ ์•Œ๋ ค์ฃผ์‹œ๋ฉด ์ •๋ง ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค๐Ÿ˜Š2.4 Polynomials์ด ํŒŒํŠธ์—์„œ๋Š” ๋‹คํ•ญ์‹์˜ ๋ง์…ˆ์„ ๊ตฌ์กฐ์ฒด ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์„ ์—ฐ์Šตํ•ด ๋ด…์‹œ๋‹ค!์•„๋ž˜ ์ฝ”๋“œ๋Š” ๋‘ ๊ฐœ์˜ ๋‹คํ•ญ์‹์ด ์ฃผ์–ด์ง€๋ฉด ๋”ํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค.(1) #define๊ณผ #include ๋ถ€๋ถ„#define _CRT_SECURE_NO_WARNINGS#include #include #define MAX_TERMS 100#define COMPARE(x, y) (((x)  #define MAX_TERMS 100: ๋‹คํ•ญ์‹์—์„œ ์‚ฌ์šฉํ•  ์ตœ๋Œ€ ํ•ญ์˜ ๊ฐœ์ˆ˜๋ฅผ 100์œผ๋กœ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค... 2024. 10. 5.
[์ž๋ฃŒ๊ตฌ์กฐ] Chapter2. Arrays and Structures(1) โ€ป ์ด ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€๋“ค์€ knu EK.Ryu ๊ต์ˆ˜๋‹˜์˜ ์ˆ˜์—…์„ ๋“ฃ๊ณ  ๋‚˜๋ฆ„๋Œ€๋กœ ํ•„์ž๊ฐ€ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค.โ€ป ๋ถ€์กฑํ•œ ์„ค๋ช…์ด ์žˆ๊ฑฐ๋‚˜, ์ž˜๋ชป ์•Œ๊ณ  ์ž‘์„ฑํ•œ ๋ถ€๋ถ„์ด ๋ณด์ธ๋‹ค๋ฉด ํŽธํ•˜๊ฒŒ ๋Œ“๊ธ€๋กœ ์•Œ๋ ค์ฃผ์‹œ๋ฉด ์ •๋ง ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค๐Ÿ˜Š2.1 Arrays ๋ฐฐ์—ด๋ฐฐ์—ด์€ ์ธ๋ฑ์Šค์™€ ๊ฐ’ ์˜ ์Œ์œผ๋กœ ๊ตฌ์„ฑ๋œ ์ง‘ํ•ฉ์œผ๋กœ์„œ, ์ •์˜๋œ ๊ฐ ์ธ๋ฑ์Šค๋Š” ๊ทธ ์ธ๋ฑ์Šค์™€ ๊ด€๋ จ๋œ ๊ฐ’์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค.๋ฐฐ์—ด์˜ ์ถ”์ƒ ๋ฐ์ดํƒ€ ํƒ€์ž…(ADT)์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. โ€ปADT(์ถ”์ƒ ๋ฐ์ดํ„ฐ ํƒ€์ž…)๋ž€? ๊ฐ์ฒด์˜ ๋ช…์„ธ์™€ ๊ทธ ์—ฐ์‚ฐ์˜ ๋ช…์„ธ๊ฐ€ ๊ทธ ๊ฐ์ฒด์˜ ํ‘œํ˜„๊ณผ ์—ฐ์‚ฐ์˜ ๊ตฌํ˜„์œผ๋กœ๋ถ€ํ„ฐ ๋ถ„๋ฆฌ๋œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ž…๋‹ˆ๋‹ค. ์‰ฝ๊ฒŒ ๋งํ•ด, ADT๋Š” ๋ฐ์ดํ„ฐ์™€ ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ์—ฐ์‚ฐ์„ ์ถ”์ƒ์ ์œผ๋กœ ์ •์˜ํ•œ ๊ฒƒ์œผ๋กœ, ๊ตฌํ˜„ ์„ธ๋ถ€ ์‚ฌํ•ญ์— ๊ตฌ์• ๋ฐ›์ง€ ์•Š๊ณ  ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋Š” ๊ฐœ๋…์ž…๋‹ˆ๋‹ค. (1)  C์–ธ์–ด์—์„œ์˜ ๋ฐฐ์—ด๋จผ์ € 1์ฐจ์› .. 2024. 10. 1.