CS 기초/자료구조

알고리즘-자료구조-큐

꿈꾸는 아이 2025. 5. 7. 19:15

개요

  • 선입선출 방식으로 작동하는 자료구조이다.
  • 가장 먼저 들어온 데이터가 가장 먼저 나가는 FIFO 구조이다.

특징

  • 기본 기능기능 설명
    enqueue(x) 큐 뒤에 요소 삽입
    dequeue() 큐 앞에서 요서 제거 및 반환
    peek() 가장 앞에 있는 요소 조회
    isEmpty() 큐가 비어 있는지 확인한다.
    size() 큐에 담긴 요소의 개수

사용법

  • Queue는 인터페이스이며, LinkedList나 ArrayDeque로 구현해서 사용한다.
import java.util.LinkedList;
import java.util.Queue;

public class Example {
    public static void main(String[] args) {
        Queue<String> queue = new LinkedList<>();

        queue.add("A");
        queue.add("B");
        queue.add("C");

        System.out.println(queue.remove()); // A
        System.out.println(queue.peek());   // B
    }
}

사례

  • 프린터 대기열: 인쇄 요청이 들어온 순서대로 처리
  • 작업 스케줄링: CPU 작업 또는 쓰레드 처리 순서 유지
  • 실시간 처리 시스템: 사용자 요청/이벤트가 순서대로 처리되도록 대기열로 관리
  • 콜센터 전화 연결: 먼저 걸려온 전화를 먼저 연결
  • 게임 접속: 사용자가 많을 경우 먼저 접속을 시도한 순서대로 접속

정리

  • 먼저 들어온 것을 먼저 처리해야 하는 상황에서 사용하는 자료구조이다.