스택 (Stack)

책을 쌓는 것처럼 차곡차곡 쌓아올린 형태의 자료구조
특징
- 가장 마지막에 저장된 데이터가 가장 먼저 삭제됨
(후입선출 LIFO, Last In First Out)
- push : 삽입하는 연산
- pop : 삭제하는 연산
- peek(top) : 가장 최근에 저장된 데이터이자 먼저 삭제될 데이터
- 스택은 크기를 고정해서 사용하기 때문에 넘치는 경우 stack overflow가 됨!
활용 예시
- 브라우저의 뒤로가기
- 역순 문자열 만들기
- 재귀 함수
- 실행 취소
- 수식의 괄호 검사
큐 (Queue)

줄을 서서 기다리는 것과 같은 자료구조
특징
- (정해진 곳에서 삽입, 삭제가 이루어지는 스택과 달리) 한쪽에선 삽입이, 다른 쪽에선 삭제가 양쪽으로 이루어짐
- 먼저 들어온 자료가 먼저 삭제됨
(선입선출 FIFO, First In First Out)
- 리어 (rear) : 삽입 연산만 수행되는 곳
- 프론트 (front) : 삭제 연산만 수행되는 곳
- 인큐 (enQueue) : 리어에서 이루어지는 삽입 연산
- 디큐 (deQueue) : 프론트에서 이루어지는 삭제 연산
활용 예시
- 프린터의 인쇄 대기열
- 은행 업무
- 콜센터 고객 대기
- 프로세스 관리
덱 (Deque)

Double Ended Queue 의 약자로 양쪽 끝에서 삽입과 삭제가 모두 가능한 자료구조
특징
활용 예시