Knowledge/자료구조

[자료구조][Java] 큐[Queue]

블로그 주인장 2023. 8. 9.


 

[ 목차 ]

    📢 큐(Queue)

    • 선입선출(First In First Out; FIFO) 자료구조 ->  먼저 들어온 데이터가 먼저 나가는 구조이다.
    • 입력 순서대로 데이터 처리가 필요할 때 사용한다.ex(프린터 출력 대기열, BFS(Breath-First Search))

    📈 큐(Queue)의 기본 구조

    • 선입선출 구조를 따른다.
    • 기본적으로 데이터 추가, 꺼내기, 큐 공간 확인 동작으로 이루어져있다.
    • 데이터가 꺼내는 쪽이 Front이고, 데이터를 꺼내는 동작을 Dequeue 라고 한다.
    • 데이터를 추가하는 쪽이 Rear이고, 데이터가 들어오는 동작을 Enqueue 라고 한다.

    📈 큐(Queue)의 기본 연산

    • 데이터 추가(Enqueue) - 큐에 데이터 추가
    • 데이터 꺼내기(Dequeue) - 큐에 데이터 꺼내기


    📈 큐(Queue) 의 주요 함수

    • push() : 큐에 자료를 넣는 함수
    • poll() : 맨 앞의 데이터 추출 후 삭제
    • peek() : 맨 앞의 데이터 조회만 (삭제 X)
    • isEmpty() : 스택이 비었는지 확인하는 함수
    • size() : 큐의 크기를 확인하는 함수
    • contains(a) : a 가 있는지 확인하는 함수

    ⚠️ 큐(Queue)  사용 시 주의 사항

    Queue queue = new Queue();
    Queue queue = new LinkedList();
    
    public interface Queue<E> extends Collection<E> {
    }
    • Queue 는 Collection 함수가 Extends 되어 있는 인터페이스 함수이다.
    • 따라서 Queue queue = new Queue(); 사용은 불가하다!!
    • 컬렉션함수인 ArrayList, LinkedList를 사용할 수 있고, 배열로도 사용이 가능하다.

     

    반응형

    'Knowledge > 자료구조' 카테고리의 다른 글

    [Java/자료구조] 배열  (0) 2023.08.09
    [자료구조][Java] 데크(Deque)  (0) 2023.08.09
    [자료구조][Java] Stack이란?  (0) 2023.08.07

    댓글