Home
Data Structure
자료구조 - 큐 (Queue)
devfoxstar
devfoxstar
February 08, 2022
1 min

Table Of Contents

01
큐 - 특징
02
큐 - 종류
03
큐 - 연산
04
큐 - 장점
05
큐 - 단점
06
큐 - 사용
07
코드

선입선출의 자료구조입니다. 그래서 먼저 입력된 데이터가 먼저 출력되는 구조를 가지고 있습니다.

매표소를 생각하면 이해가 쉽습니다. 먼저 표를 끊으면, 먼저 입장이 가능합니다.

큐 구조
큐 구조

큐 - 특징


  • 선입선출 방식이다. FIFO (First In First Out)
  • 한 쪽에서는 삽입이 다른 쪽에서는 삭제가 이루어진다.
  • 오버플로우 : 큐가 꽉 차서 더 이상 자료를 넣을 수 없는 경우
  • 언더플로우 : 큐가 비어서 자료를 꺼낼 수 없는 경우

큐 - 종류


선형

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

큐 - 선형
큐 - 선형

환영

선형큐의 문제점을 보완한 일명 원형큐입니다. 큐가 끝나면 맨 앞으로 자료를 보내서 원형으로 연결합니다.

큐 - 환영
큐 - 환영

큐 - 연산


  • enQueue : 데이터를 삽입
  • deQueue : 데이터를 삭제
  • front : 데이터의 처음 위치를 반환
  • rear(back) : 데이터의 마지막 위치를 반환
  • len : 데이터의 길이 반환
  • isEmpty : 데이터가 있는지 확인

큐 - 장점


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

큐 - 단점


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

큐 - 사용


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

큐 시간 복잡도
큐 시간 복잡도

코드


Java Method

MethodReturnExceptionDescription
offer(E e)booleanX데이터 삽입
add(E e)booleanO데이터 삽입
poll()E Or NullXfront 데이터 반환 후 제거
remove(E e)EO특정 데이터 제거
peek()E Or NullXfront 데이터 반환
element()EOfront 데이터 반환

Java Queue

import java.util.LinkedList;
import java.util.Queue;

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

        //enqueue
        queue.offer("A");
        queue.add("B");
        queue.add("C");
        queue.add("D");
        queue.add("E");
        System.out.println(queue.peek());       //A

        //dequeue
        queue.poll();
        System.out.println(queue.peek());       //B

        //remove
        queue.remove("D");
        System.out.println(queue);              //[B, C, E]

        //element
        System.out.println(queue.element());    //B
    }
}

공식 문서 - Java Interface Queue


Tags

#DataStructure#자료구조#Queue#큐

Related Posts

자료구조 - 리스트 (ArrayList, LinkedList, Vector)
March 09, 2022
1 min
© 2024, All Rights Reserved.

Quick Links

About Me

Media