자료 구조 중에서 스택과 큐를 비교하여 알아보자.
스택 (stack)
책처럼 쌓아올린 형태의 자료구조를 말한다.
🚩 특징
- 같은 구조와 크기의 자료를 정해진 방향으로만 쌓을 수 있다.
- top 으로 정한 곳을 통해서만 접근 가능하다.
- top 은 가장 최근에 들어온 데이터를 가리킨다.
- 스택에서 top 을 통해 삽입하는 연산을
push
, 삭제하는 연산을 pop
이라고 한다.
- 후입선출 구조이다. 가장 마지막에 삽입된 자료가 가장 먼저 삭제된다.
🚩 활용
- 웹 브라우저 방문 기록
- 역순 문자열 만들기
- 실행 취소
큐 (queue)
'큐'의 사전적 의미는 줄 또는 줄을 서서 기다리는 것이다. 놀이동산 혹은 은행창구에서 줄을 서서 기다리는 것을 생각하면 된다.
🚩 특징
- 한 곳에서 삽입과 삭제가 이루어지는 스택과 달리, 한 쪽에서 삽입이 이루어지고 다른 한 쪽에서 삭제가 이루어진다.
- 삭제연산만 되는 곳을 프론트(front), 삽입연산만 되는 곳을 리어(rear) 라고 한다.
- 프론트에서 이루어지는 삭제연산을 인큐(enQueue), 리어에서 이루어지는 삽입연산을(deQueue) 라고 한다.
🚩 활용
- 우선순위가 있는 작업 예약 (프린트 인쇄)
- 은행 업무
- 콜센터 고객 대기시간
- 너비 우선 탐색 구현
- 캐시 (Cache) 구현
참고자료