이번 포스팅에서는 스택(Stack), 큐(Queue), 덱(Deque) 에 대해서 알아보겠습니다.

스택(Stack)이란?

  • 스택(Stack)은 “쌓다”라는 의미로, 데이터를 차곡차곡 쌓아 올린 형태의 자료구조이다.
  • 스택은 한쪽 끝에서만 자료를 넣고 뺄 수 있는 자료 구조이다.
    -> LIFO(Last In First Out)

image

  • stack에서의 Push, Pop은 시간 복잡도가 O(1)

큐(Queue)란?

  • 큐(Queue)는 스택(Stack)과 다르게 한쪽 끝에서만 자료를 넣고 다른 한쪽 끝에서만 뺄 수 있는 자료구조이다. -> FIFO(First In First Out)

image

덱(Deque)란?

  • 덱(Deque)는 양 끝에서만 자료를 넣고 양 끝에서 뺄 수 있는 자료구조이다.
  • 스택(Stack)과 큐(Queue)의 연산을 모두 지원한다.

image