본문/내용
1. 큐의 정의와 특징
큐(Queue)는 데이터를 선형으로 일렬로 저장하는 자료구조로서, 먼저 넣은 데이터가 먼저 나오는 선입선출(First-In-First-Out, FIFO) 원칙을 따르며, 다양한 실생활 및 컴퓨터 과학 영역에서 널리 활용된다. 큐의 가장 큰 특징은 데이터의 추가와 제거가 각각 한쪽 끝(리어, Rear과 프론트, Front)에서만 이루어진다는 점이다. 데이터가 큐에 들어오는 것을 `인큐(Enqueue)`, 나가는 것을 `디큐(Dequeue)`라고 하며, 인큐는 큐의 리어에서, 디큐는 프론트에서 수행된다. 이러한 구조는 실제 생활에서도 쉽게 접할 수 있는데, 예를 들어 은행 창구에서 고객이 순서대로 차례를 기다리는 모습이 큐의 대표적 사례이다.
큐는 실제 컴퓨터 운영체제에서도 중요한 역할을 담당한다. 예를 들어, 프린터 작업 큐는 여러 사용자가 전송하는 인쇄 작업 요청들을 관리하는데, 먼저 요청된 작업이 먼저 인쇄되는 선입선출 원칙이 보장되어야 한다. 이는 인쇄 작업의 관리 효율성을 높이고, 요청 대기 시간을 객관적으로 유지하는데 유리하다. 큐는 또한 비동기적 프로그래밍과 운영체제 스케줄링에서도 핵심 역할을 한다. 예를 들어, CPU 스케줄링에서 준비 …