whatisthis?

etc. ์ž๋ฃŒ๊ตฌ์กฐ - ์Šคํƒ(stack) / ํ(queue) ๋ณธ๋ฌธ

WEB STUDY/ETC.

etc. ์ž๋ฃŒ๊ตฌ์กฐ - ์Šคํƒ(stack) / ํ(queue)

thisisyjin 2022. 1. 11. 14:49
Stack LIFO (Last In First Out)
Queue FIFO (First In First Out)

 

๐Ÿ’ก ์Šคํƒ(Stack)

 

- ๊ฐ™์€ ๊ตฌ์กฐ์™€ ํฌ๊ธฐ์˜ ์ž๋ฃŒ๋ฅผ ์ •ํ•ด์ง„ ๋ฐฉํ–ฅ์œผ๋กœ๋งŒ ์Œ“์„ ์ˆ˜ ์žˆ์Œ

- top์œผ๋กœ ์ •ํ•œ ๊ณณ์„ ํ†ตํ•ด์„œ๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅ (์œ„์—์„œ๋ถ€ํ„ฐ)  

- ์ƒˆ ๋ฐ์ดํ„ฐ ์‚ฝ์ž…๋„ top์„ ํ†ตํ•ด์„œ๋งŒ ๊ฐ€๋Šฅ = push

- ์‚ญ์ œ๋„ top์„ ํ†ตํ•ด์„œ๋งŒ ๊ฐ€๋Šฅ = pop

 

>> ๋น„์–ด์žˆ๋Š” ์Šคํƒ์—์„œ ์ถ”์ถœ์‹œ : stack underflow

     ์Šคํƒ์ด ๊ฝ‰ ์ฐจ์„œ ๋„˜์น ์‹œ : stack overflow

 

>> ํ™œ์šฉ ๋ถ„์•ผ

- ์›น๋ธŒ๋ผ์šฐ์ € ๋ฐฉ๋ฌธ๊ธฐ๋ก (๊ฐ€์žฅ ๋‚˜์ค‘์— ์—ด๋ฆฐ ํŽ˜์ด์ง€๋ถ€ํ„ฐ)

- ์—ญ์ˆœ ๋ฌธ์ž์—ด ์ƒ์„ฑ

- ๋’ค๋กœ๊ฐ€๊ธฐ (undo) -> history.back()

 

 

 


 

๐Ÿ’ก ํ(Queue)

 

- ์ค„์„ ์„œ์„œ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๊ฒƒ. ์„ ์ž…์„ ์ถœ (FIFO)

- ํ•œ์ชฝ ๋์—์„œ๋Š” ์‚ฝ์ž… / ๋‹ค๋ฅธ์ชฝ ๋์—์„œ๋Š” ์‚ญ์ œ = ์–‘์ชฝ์œผ๋กœ ์ ‘๊ทผ

 

- ์‚ญ์ œ๋งŒ ์ˆ˜ํ–‰๋˜๋Š” ๊ณณ = front (ํ”„๋ก ํŠธ)   / ์‚ญ์ œ์—ฐ์‚ฐ = ๋””ํ(dnQueue)

- ์‚ฝ์ž…๋งŒ ์ˆ˜ํ–‰๋˜๋Š” ๊ณณ = rear (๋ฆฌ์–ด)   / ์‚ฝ์ž…์—ฐ์‚ฐ = ์ธํ(enQueue)

 

 

>> ํ™œ์šฉ ๋ถ„์•ผ

:: ์ž…๋ ฅ๋œ ์‹œ๊ฐ„ ์ˆœ์„œ๋Œ€๋กœ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉ

- ํ”„๋ฆฐํ„ฐ์˜ ์ธ์‡„๋Œ€๊ธฐ์—ด

- ์€ํ–‰ ์—…๋ฌด

- ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ

- ์บ์‹œ(cache)๊ตฌํ˜„