[ 목차 ]
📢 큐(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 |
댓글