본문 바로가기
Java

[자바] PriorityQueue (우선순위 큐)

by Sky Titan 2020. 9. 6.
728x90
 

Java Platform SE 8

 

docs.oracle.com

PriorityQueue (우선순위 큐)

  • 자료구조의 우선순위 큐를 자바 컬렉션 프레임워크에서 구현한 클래스이다.
  • Queue 인터페이스를 구현하고 있다.
  • 기본 정렬 조건(오름차순)에 의해 정렬되거나 혹은 선언 단계에서 Comparator를 삽입해서 정렬 조건을 설정할 수 있다.
  • 내부적으로 heap의 구조를 사용하기에 enqueue (offer, add), dequeue (remove, poll)에 O(log n)의 시간이 걸린다.
  • contains(object), remove(object)에는 O(n)의 시간이 걸린다.
  • peek(), element(), size() 에는 O(1)의 시간이 걸린다.
Queue<int[]> queue = new PriorityQueue<>((o1, o2) -> o1[1] - o2[1]);
728x90

댓글