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

'JAVA' 카테고리의 다른 글

[JAVA] compareTo 함수 (숫자/문자 비교)  (1) 2020.12.28
[JAVA] Queue 관련 함수 (+ 함수 차이점)  (0) 2020.12.26
[JAVA] Arrays.fill 함수  (0) 2020.04.16
BigInteger 클래스  (0) 2019.10.02