열심히 살아나갈 사람
article thumbnail
Published 2023. 3. 20. 12:09
큐 (Queue) Data Structure
728x90

큐(Queue)는 자료를 일시적으로 저장하기 위한 자료구조 중 하나로, 선입선출(First-In-First-Out, FIFO) 원칙을 따릅니다. 즉, 먼저 들어온 데이터가 먼저 나가는 구조를 가지고 있습니다. 일상생활에서 대기 줄을 예시로 들 수 있습니다. 가게에서 줄서는 사람들이나, 티켓을 발권하는 키오스크 등에서도 자주 사용됩니다.

 

큐는 대기열을 모델링하는 데 자주 사용됩니다. 예를 들어, CPU 스케줄링, 네트워크 패킷 라우팅, 입출력 버퍼, 작업 큐 등에서 사용됩니다.

 

큐는 주로 다음과 같은 기본 연산을 지원합니다.

  • Enqueue : 큐의 끝에 데이터를 추가합니다.
  • Dequeue : 큐의 맨 앞에서 데이터를 제거합니다.
  • Peek/Front : 큐의 맨 앞에 있는 데이터를 조회합니다.
  • IsEmpty : 큐가 비어 있는지 여부를 확인합니다.

일반적으로 큐는 배열, 연결 리스트, 더블 링크드 리스트 등으로 구현됩니다.  배열을 사용하면 인덱싱 연산이 빠르지만, 크기가 고정되어 있으므로 삽입 및 삭제 시에 다른 원소들을 이동해야 하므로 비효율적일 수 있습니다. 연결 리스트를 사용하면 크기가 유동적이지만, 삽입 및 삭제 시 포인터 연산이 필요하므로 일반적으로 배열보단 느립니다.

 

큐는 스택과 함께 가장 기본적이고 중요한 데이터 구조 중 하나입니다. 스택과 마찬가지로 큐도 자료를 삽입하고 제거하는 기능이 있으며, 이를 통해 많은 컴퓨팅 문제를 해결할 수 있습니다.

728x90

'Data Structure' 카테고리의 다른 글

자료구조 (Data Structure)  (0) 2023.03.22
트리 (Tree)  (0) 2023.03.20
스택 (Stack)  (0) 2023.03.20
연결 리스트 (Linked List)  (1) 2023.03.18
동적 배열(Dynamic Array)  (0) 2023.03.17
profile

열심히 살아나갈 사람

@쿼리_

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!