728x90
프로그래밍에서 데이터를 효율적으로 저장하고 관리하기 위해 다양한 자료구조가 사용됩니다. 그중에서도 **큐(Queue), 스택(Stack)**은 많이 사용되는 대표적인 자료구조입니다. 이번 글에서는 이 두 가지 자료구조의 개념과 차이점을 알아보고, 실제 사용 예시까지 살펴보겠습니다.
1. 큐(Queue)란?

**큐(Queue)**는 FIFO(First In, First Out, 선입선출) 구조를 따르는 자료구조입니다. 즉, 먼저 들어온 데이터가 먼저 나가는 방식으로 동작합니다. 위 이미지같이 버스를 타기위해 줄 선 사람들처럼 먼저 기다린사람이 먼저 나가게 됩니다.
✅ 큐의 특징

- 데이터를 순서대로 처리할 때 유용
- 먼저 들어온 데이터가 먼저 나감
- 줄을 서는 것과 같은 개념
🛠 큐의 주요 연산
연산설명
enqueue() | 큐의 뒤(rear)에 데이터 추가 |
dequeue() | 큐의 앞(front)에서 데이터 제거 |
📌 큐의 사용 예시
- 프린터 작업 대기열: 먼저 요청한 인쇄 작업이 먼저 실행됨
- 네트워크 패킷 처리: 먼저 도착한 데이터 패킷이 먼저 처리됨
- BFS(너비 우선 탐색) 알고리즘: 그래프 탐색에 사용
2. 스택(Stack)란?

**스택(Stack)**은 LIFO(Last In, First Out, 후입선출) 구조를 따르는 자료구조입니다. 즉, 나중에 들어온 데이터가 먼저 나가는 방식으로 동작합니다. 예를 들어 쌓여있는 접시같은 구조죠. 가장 늦게 쌓인 접시가 가장 먼저 나가게 되는것처럼요.
✅ 스택의 특징

- 마지막에 들어온 데이터가 먼저 나감
- 책을 쌓아두는 것과 같은 개념
🛠 스택의 주요 연산
연산설명
push() | 스택의 맨 위(top)에 데이터 추가 |
pop() | 스택의 맨 위(top) 데이터 제거 |
📌 스택의 사용 예시
- 함수 호출(콜 스택): 함수가 호출될 때 마지막에 호출된 함수가 먼저 종료됨
- 웹 브라우저의 뒤로 가기 기능: 가장 최근 방문한 페이지부터 차례로 돌아감
- DFS(깊이 우선 탐색) 알고리즘: 그래프 탐색에서 사용
3. 큐, 스택의 차이점 비교
자료구조동작 방식주요 연산사용 예시
큐(Queue) | FIFO(선입선출) | enqueue(), dequeue() | 프린터 대기열, BFS |
스택(Stack) | LIFO(후입선출) | push(), pop() | 함수 호출, DFS |
4. 마무리
큐, 스택은 각각 특징과 동작 방식이 다르며, 사용되는 상황도 다릅니다.
- 큐는 순차적으로 처리해야 하는 경우,
- 스택은 마지막에 저장한 데이터를 먼저 처리해야 하는 경우,
728x90
광고
광고
'프로그래밍' 카테고리의 다른 글
Bilinear Interpolation (양선형 보간) 이란? (0) | 2025.04.03 |
---|---|
YUV422란? (0) | 2025.04.02 |
Understanding Queue and Stack: Essential Data Structures in Programming (0) | 2025.03.28 |
(빅데이터 분석기사) 1. 실기 학습 준비 및 교재 선정 (0) | 2022.04.06 |