Summary
- 스택(Stack)은 후입선출(LIFO)로 동작하는 선형 자료구조이며, 항상 맨 위(top) 데이터를 통해서만 접근한다.
- 큐(Queue)는 선입선출(FIFO)로 동작하는 선형 자료구조이며, front에서 삭제하고 rear에서 삽입한다.
- 스택은 실행 취소·역순 문자열 등에, 큐는 은행 업무·프로세스 관리 등에 활용된다.
스택(Stack)
개념
스택은 후입선출(LIFO, Last In First Out) 방식으로 동작하는 선형 자료구조다. 데이터가 차곡차곡 쌓아 올려지는 형태로, 가장 마지막에 삽입된 데이터가 가장 먼저 삭제되는 구조다.
push: 새로운 데이터를 맨 위(top)에 삽입pop: 맨 위(top) 데이터를 제거- 항상 맨 위(
top) 데이터를 통해서만 접근 가능
활용 예시
- 웹 브라우저 방문기록(뒤로가기)
- 실행 취소(undo)
- 역순 문자열 생성
- 후위 표기법 계산
큐(Queue)
개념
큐는 선입선출(FIFO, First In First Out)로 먼저 들어온 데이터가 먼저 나가는 방식의 선형 자료구조다.
front에서 데이터를 삭제(dequeue)한다.rear에서 데이터를 삽입(enqueue)한다.
활용 예시
- 은행 업무
- 대기열 순서와 같은 우선순위 작업 예약
- 프로세스 관리
비교
| 특성 | 스택(Stack) | 큐(Queue) |
|---|---|---|
| 구조 | 후입선출(LIFO) | 선입선출(FIFO) |
| 삽입 방식 | push: 맨 위(top)에 삽입 | enqueue: 맨 뒤(rear)에 삽입 |
| 삭제 방식 | pop: 맨 위(top)에서 삭제 | dequeue: 맨 앞(front)에서 삭제 |
| 사용 사례 | 실행 취소(undo), 역순 문자열 등 | 은행 업무, 프로세스 관리 등 |
Reference