우선순위 큐 (PriorityQueue) 생성자 및 메서드

자이로 체펠리·2021년 6월 7일
0

FIFO의 원칙을 지키는 큐와는 다른게 우선순위 큐는 우선순위에 따라 정보를 넣고 빼는 구조를 가지고 있다.

우선순위큐 (Priority queue)는 원소의 추가, 탐색, 그리고 삭제 연산이 있는 멀티 셋이다. 이때 탐색 및 사제의 대상이 되는 원소는 최소, 또는 최대 원소이며, 둘중 어느쪽이 되는지 큐 속성에 달려있다. 원소의 추가 삭제는 O(log n) 시간이 걸리며 탐색은 O(1) 시간이 걸린다.

특별한 이진 트리인 heap 기반으로 만들어 지며, 필요한 연산이 최대 혹은 최소 원소를 빨리 구하는 것이라면 우선순위 큐를 사용하는 것이 좋다.

자바에서 사용하기 위해 java.util.PriorityQueue를 import 해주면 된다.

주요 생성자

생성자설명
PriorityQueue()기본 크기가 11인 우선순위 큐가 생성
PriorityQueue(int initialCapacity)기본크기를 설정할 수 있다.
PriorityQueue(int initialCapacity, Comparator<? super E> comparator)기본크기와 특정한 순서를 가진 우선순위 큐를 생성한다.

method

이름설명리턴타입
add(E e)큐에 요소를 삽인한다.boolean
clear()큐의 모든 요소를 삭제한다.void
peek()큐의 우선값을 호출한다. 삭제는 하지 않는다.E
poll()큐의 수선값을 호출하고 삭제한다.E
offer()요소를 큐의 순서에 맞게 삽입한다boolean
remove(Object o)특정 값을 큐에서 삭제한다.boolean
toArray(T[] a)큐를 특정 타입의 Array로 반환한다. t[]
profile
"경의를 표해라. 경의를 갖고 회전의 다음 단계로 나아가는 거다…… [LESSON 4] 다."

0개의 댓글