[자료구조]큐(Queue)

Yedam Lee·2023년 2월 26일
0

🤔 큐(Queue)란

큐는 스택과 달리 먼저 들어온 데이터가 먼저 나오는 FIFO(First In First Out) 구조로 저장하는 형식을
말합니다. 일상생활에서 은행 번호표나 줄서기와 같은 원리라고 생각하면 됩니다.

🧮 큐의 연산

enQueue() : 큐에 데이터를 넣는다.
deQueue() : 큐에서 데이터를 빼낸다.
isEmpty() : 큐가 비어있는지 확인한다.
isFull() : 큐가 꽉 차 있는지 확인한다.
peek() : 맨 앞에 있는 원소를 삭제하지 않고 반환한다.

🗂 큐의 종류

선형
막대 모양으로 된 큐를 의미합니다. 크기 제한이 있고, 빈공간을 사용하려면 모든 자료를 꺼내거나 한 칸씩 옮겨야 합니다.

환형
큐가 끝나면 맨 앞으로 자료를 보내서 원형으로 연결합니다. 선형큐의 단점을 보완한 방법입니다.

📚 큐의 장단점

장점

  • 동적으로 메모리를 할당할 수 있다.
  • 데이터 입출력 속도가 빠르다.
  • 데이터를 받는 순서대로 저장된다.

단점

  • 가장 오래된 요소만 가져온다.
  • 한 번에 하나의 데이터만 처리 가능하다.

🔍 큐의 사용 사례

  • 순서에 민감한 데이터 처리 (은행, 예약, 콜센터 등)
  • 비동기 데이터 처리
  • 프린트 출력 대기열
  • 윈도우 시스템 처리 (메세지, 프로세스)
  • 캐시 구현
profile
프론트엔드 개발자

0개의 댓글