๐
๊ฐ๋ 2๏ธโฃ Stack vs Queue
[1] Stack
- ์ ํ ๋ฐ์ดํฐ ๊ตฌ์กฐ
- ์ฝ์ : ๋ฆฌ์คํธ์ top ์์๋ง ๊ฐ๋ฅํจ
- ์ญ์ : ๋ฆฌ์คํธ์ top ์์๋ง ๊ฐ๋ฅํจ
- LIFO(Last In First Out) : ๊ฐ์ฅ ๋์ค์ ๋ฃ์ ๊ฒ์ด ๊ฐ์ฅ ๋จผ์ ๋์ด
- ์คํ์ ์์๋ฅผ ์ฝ์ ํ๋ ํ์ : push
- ์คํ์์ ์์๋ฅผ ์ ๊ฑฐํ๋ ํ์ : pop
- ํ์ฉ ์์
- ์น ๋ธ๋ผ์ฐ์ฆ ๋ฐฉ๋ฌธ๊ธฐ๋ก(๋ค๋ก ๊ฐ๊ธฐ) : ๊ฐ์ฅ ๋์ค์ ์ฐ ํ์ด์ง๋ถํฐ ๋ค์ ๋ณด์ฌ์ค
- ์ญ์ ๋ฌธ์์ด ๋ง๋ค๊ธฐ : ๊ฐ์ฅ ๋์ค์ ์ ๋ ฅ๋ ๋ฌธ์๋ถํฐ ์ถ๋ ฅํจ
- ์คํ ์ทจ์(undo) : ๊ฐ์ฅ ๋์ค์ ์คํํ ๊ฒ๋ถํฐ ์คํ ์ทจ์ํจ
- ํ์ ํ๊ธฐ๋ฒ ๊ณ์ฐ
- ์์ ๊ดํธ ๊ฒ์ฌ
[2] Queue
- ์ ํ ๋ฐ์ดํฐ ๊ตฌ์กฐ
- ์ฝ์ : ๋ฆฌ์คํธ์ rear ์์๋ง ๊ฐ๋ฅํจ
- ์ญ์ : ๋ฆฌ์คํธ์ front ์์๋ง ๊ฐ๋ฅํจ
- FIFO(First In First Out) : ๊ฐ์ฅ ๋จผ์ ๋ฃ์ ๊ฒ์ด ๊ฐ์ฅ ๋จผ์ ๋์ด
- ํ์ ์์๋ฅผ ์ฝ์ ํ๋ ํ์ : enqueue
- ํ์์ ์์๋ฅผ ์ ๊ฑฐํ๋ ํ์ : dequeue
- ํ์ฉ ์์
- ํ๋ฆฐํฐ์ ์ธ์ ๋๊ธฐ์ด
- ์ํ ์ ๋ฌด
- ์ฝ์ผํฐ ๊ณ ๊ฐ ๋๊ธฐ๊ธฐ๊ฐ
- BFS
- ์บ์(Cache) ๊ตฌํ
[์ฐธ๊ณ ์ฌ์ดํธ]
1: https://www.geeksforgeeks.org/difference-between-stack-and-queue-data-structures/