๐Ÿ“š CS [ComputerScience]/๐Ÿ“š CS ๋ฉด์ ‘

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

Dbswnstjd 2024. 3. 1. 21:11

1. ์ž๋ฃŒ๊ตฌ์กฐ๋ž€ ?

์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ๋“ค์˜ ๋ฌถ์Œ์„ ์ €์žฅํ•˜๊ณ , ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ •์˜ํ•œ ๊ฒƒ

 

2. ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  ?

1. ๋ฐ์ดํ„ฐ๋ฅผ ์ฒด๊ณ„์ ์œผ๋กœ ์ €์žฅํ•˜๊ณ , ํšจ์œจ์ ์œผ๋กœ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

2. ๋Œ€๋ถ€๋ถ„์˜ ์ž๋ฃŒ๊ตฌ์กฐ๋Š” ํŠน์ • ์ƒํ™ฉ์— ๋†“์ธ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ์— ํŠนํ™”๋˜์–ด ์žˆ๋‹ค.

 

3. ์ž๋ฃŒ๊ตฌ์กฐ์˜ ์ข…๋ฅ˜์™€ ๊ตฌ๋ถ„

์„ ํ˜•๊ตฌ์กฐ

- ๋ฐฐ์—ด(Array)

- ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ(LinkedList)

- ์Šคํƒ(Stack)

- ํ(Queue)

 

๋น„์„ ํ˜•๊ตฌ์กฐ

- ํŠธ๋ฆฌ(Tree)

- ๊ทธ๋ž˜ํ”„(Graph)

 

Stack, Queue, Tree, Graph๊ฐ€ ์ผ๋ฐ˜์ ์œผ๋กœ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. 

์Šคํƒ [Stack]

LIFO(Last In First Out) ์ฆ‰, ์Šคํƒ์€ ๋งˆ์ง€๋ง‰์— ๋“ค์–ด์˜จ ๊ฒƒ์ด ๊ฐ€์žฅ ๋จผ์ €๋‚˜๊ฐ€๋Š” ํ›„์ž…์„ ์ถœ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. 

 

์—ฐ์‚ฐ ์ข…๋ฅ˜- pop() : ์Šคํƒ์—์„œ ๊ฐ€์žฅ ์œ„์— ์žˆ๋Š” ํ•ญ๋ชฉ์„ ์ œ๊ฑฐ- push(item) : item ํ•˜๋‚˜๋ฅผ ์Šคํƒ์˜ ๊ฐ€์žฅ ์œ— ๋ถ€๋ถ„์— ์ถ”๊ฐ€
- peek() : ์Šคํƒ์˜ ๊ฐ€์žฅ ์œ„์— ์žˆ๋Š” ํ•ญ๋ชฉ์„ ๋ฐ˜ํ™˜- isEmpty() : ์Šคํƒ์ด ๋น„์–ด ์žˆ์„ ๋•Œ true๋ฅผ ๋ฐ˜ํ™˜