← 질문 목록
#156깊이 0

스택과 큐는 각각 어떤 상황에서 선택해야 하는가?

자료구조 · 알고리즘기초

스택은 가장 최근 데이터를 먼저 처리해야 할 때 쓰고, 큐는 들어온 순서대로 데이터를 처리해야 할 때 선택한다.

기준스택 (Stack)큐 (Queue)
입출력 방식LIFO (후입선출)FIFO (선입선출)
주요 용도되돌리기, 재귀 처리작업 대기열, 버퍼
알고리즘깊이 우선 탐색 (DFS)너비 우선 탐색 (BFS)

스택은 입력된 역순으로 돌아가는 이력 관리에 유용하며, 큐는 유입된 요청을 순서대로 소화하는 완충 지대에 알맞다.

스택은 함수 호출(Call Stack)이나 실행 취소(Undo)처럼 직전의 상태를 기억해야 하는 곳에 필수적이다. 반면 큐는 이메일 발송 대기열이나 프린터 인쇄 작업처럼 순차적인 처리가 보장되어야 하는 비동기 시스템의 기초가 된다.

구현에 쓰는 자료구조의 비용도 따져야 한다. 스택은 메모리 한계로 인한 오버플로우를 주의해야 하고, 큐는 데이터를 꺼낼 때 발생하는 배열 내 요소 이동 비용을 줄이기 위해 원형 큐나 연결 리스트 구조를 고민해야 한다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

스택과 큐는 각각 어떤 상황에서 선택해야 하는가?