개요

queue라는 단어처럼 줄 서듯이 자료를 저장합니다. 새로운 원소의 삽입은 새로 줄을 서는 것이고, 제거는 줄 맨 앞에서 나가는 것입니다. 그래서 먼저 들어온 원소가 먼저 나간다는 특징을 가집니다. 선입선출(FIFO: First In, First Out)이라고도 합니다.

맨 앞에 있는 원소를 front, 뒤에 있는 원소를 back 혹은 rear라고 합니다. back에 원소를 삽입하는 것은 enqueue, front를 제거하는 것은 dequeue라고 합니다. 연결 리스트를 통해 구현한 경우 두 연산 모두 의 시간 복잡도를 갖습니다.

구현

언어별로 이미 구현된 자료 구조를 사용하면 됩니다.

  • Python: collentions.deque
  • C++: std::queue
  • Java: java.util.Queue

문제