JAVA

[JAVA] 우선순위큐 PriorityQueue 사용하기

nang. 2020. 12. 29. 21:29
반응형
SMALL

우선순위큐 (Priority Queue)

우선순위가 높은 엘리먼트가 먼저 나가는 자료구조

  • heap을 이용하여 구현!
    • 이진트리 구조
    • O(nlogn)

1. 최소힙 (MinHeap)

제일 낮은 숫자가 root


1.1 Priority Queue 선언

PriorityQueue<Integer> intMinHeap = new PriorityQueue<>();

PriorityQueue<String> stringMinHeap = new PriorityQueue<>();

1.2 값 추가하기

intMinHeap.add(1);

intMinHeap.offer(2);

1.3 값 삭제

intMinHeap.poll();

intMinHeap.remove();

1.4 root 값 확인

intMinHeap.peek();


2. 최대힙 (Max Heap)

제일 큰 숫자가 root


2.1 Priority Queue 선언

PriorityQueue<Integer> maxHeap = new PriorityQueue<>(Collections.reverseOrder());
  • Collections.reverseOrder() 이용
반응형
LIST