알고리즘 학습/

FIFO(First In First Out) 구조. 가장 먼저 들어온 데이터가 가장 먼저 나갑니다.

쉬움자료구조FIFO

정의

큐(Queue)는 선입선출(FIFO, First In First Out) 방식의 자료구조입니다. 가장 먼저 넣은 것이 가장 먼저 나오는, 마치 줄을 서는 것과 같은 구조입니다.

핵심 특성

  • FIFO (First In, First Out) 구조 - 먼저 들어간 것이 먼저 나옴
  • Enqueue와 Dequeue 연산이 O(1) 시간에 가능
  • Front(앞)과 Rear(뒤) 두 개의 포인터로 관리
  • BFS(너비 우선 탐색), 작업 스케줄링 등에 활용

활용 사례

이런 상황에서 사용됩니다:

🏦

은행 대기줄

먼저 온 고객이 먼저 서비스를 받습니다. 실생활에서 가장 흔하게 볼 수 있는 큐의 예입니다.

🖨️

프린터 대기열

여러 사람이 프린터를 사용할 때, 먼저 요청한 작업이 먼저 출력됩니다.

🌳

BFS 탐색

그래프나 트리를 너비 우선으로 탐색할 때 큐를 사용합니다. 가까운 정점부터 차례로 방문합니다.

⚙️

작업 스케줄러

운영체제나 프로그램에서 작업을 순서대로 처리할 때 큐를 사용합니다.

주요 연산

주요 연산들:

enqueue

O(1)

큐의 뒤(Rear)에 새로운 요소를 추가합니다.

dequeue

O(1)

큐의 앞(Front)에서 요소를 제거하고 반환합니다.

front / peek

O(1)

큐의 맨 앞 요소를 제거하지 않고 확인합니다.

isEmpty

O(1)

큐가 비어있는지 확인합니다.

복잡도

시간 복잡도

최선
O(1)
평균
O(1)
최악
O(1)

공간 복잡도

O(n)

시각화로 더 깊이 이해하기

단계별 애니메이션과 코드 실행을 통해 알고리즘이 어떻게 동작하는지 직접 확인하세요.

시각화 시작하기