핵심 인사이트 (3줄 요약)

  1. 본질: 스택(Stack)은 LIFO, 큐(Queue)는 FIFO 원칙을 따르는 기본 자료 구조다.
  2. 가치: 호출 스택, 작업 대기열, BFS/DFS 등에서 자주 쓰인다.
  3. 판단: 데이터 흐름의 순서를 설계할 때 가장 먼저 떠올려야 하는 기본 도구다.

Ⅰ. 개요 및 필요성

스택과 큐는 자료 구조의 가장 기본적인 두 축이다. 순서를 어떻게 처리할지에 따라 둘 중 하나를 고르면 된다.

단순하지만 활용 범위가 매우 넓다.

  • 📢 섹션 요약 비유: 접시를 쌓아 두는 방식과 줄을 서는 방식의 차이다.

Ⅱ. 아키텍처 및 핵심 원리

Stack: push / pop
Queue: enqueue / dequeue
구조원리
StackLIFO함수 호출, 되돌리기
QueueFIFO작업 대기, BFS

스택은 마지막에 넣은 것이 먼저 나오고, 큐는 먼저 들어온 것이 먼저 나온다.

  • 📢 섹션 요약 비유: 나중에 놓은 책이 맨 위, 먼저 온 손님이 먼저 입장하는 것이다.

Ⅲ. 비교 및 연결

구분StackQueue
순서LIFOFIFO
주요 연산push/popenqueue/dequeue
용도재귀/역추적스케줄링/대기열
관련 개념의미
Deque양방향
Circular Queue원형 큐

스택과 큐는 알고리즘의 흐름과 운영 시스템의 작업 처리에서 모두 중요하다.

  • 📢 섹션 요약 비유: 쌓는지, 줄 세우는지에 따라 처리 방식이 달라진다.

Ⅳ. 실무 적용 및 기술사 판단

체크리스트

  1. LIFO와 FIFO를 구분하는가?
  2. 연산의 시간 복잡도를 아는가?
  3. 스택 오버플로/언더플로를 고려하는가?
  4. 큐의 병목과 순서를 관리하는가?
  5. 상황에 맞는 구조를 고르는가?

안티패턴

  • 스택과 큐를 혼동하는 설계
  • 대기열 순서를 무시하는 설계
  • 재귀 깊이와 스택 한계를 무시하는 설계
  • 목적 없이 자료 구조를 선택하는 설계

기술사 관점에서는 스택과 큐를 "순서 제어의 기본 자료 구조"로 설명해야 한다.

  • 📢 섹션 요약 비유: 쌓을지, 줄 설지 먼저 정해야 한다.

Ⅴ. 기대효과 및 결론

스택과 큐를 이해하면 알고리즘과 시스템 설계를 더 명확히 할 수 있다.

결론적으로 스택은 LIFO, 큐는 FIFO를 구현하는 기본 자료 구조다.

  • 📢 섹션 요약 비유: 순서가 바뀌면 결과도 달라진다.

관련 개념 맵

Stack
  ↓
LIFO
  ↓
Queue
  ↓
FIFO

관련 키워드 및 발전 흐름도

List
  ↓
Stack / Queue
  ↓
Deque
  ↓
Scheduling / Traversal

어린이를 위한 3줄 비유 설명

쌓아 두면 나중에 올린 게 먼저 나와요.
줄 서면 먼저 온 사람이 먼저 가요.
스택과 큐는 그런 순서예요.