자바에서는 PriorityQueue를 활용하여 최소힙을 구현 가능하다.
최소 힙이란?
최소 힙은 부모 노드가 항상 자식 노드보다 작거나 같은 값을 가지는 완전 이진 트리로, 최솟값이 루트에 위치한다.
import java.util.PriorityQueue;
public class HeapExample {
public static void main(String[] args) {
// Integer를 저장하는 최소 힙 생성
PriorityQueue<Integer> minHeap = new PriorityQueue<>();
// 요소 추가
minHeap.offer(5);
minHeap.offer(2);
minHeap.offer(8);
minHeap.offer(1);
// 최소값 확인
int minValue = minHeap.peek();
System.out.println("Min value: " + minValue); // Min value: 1
// 최소값 삭제
int deletedValue = minHeap.poll();
System.out.println("Deleted value: " + deletedValue); // Deleted value: 1
// 최소값 확인
minValue = minHeap.peek();
System.out.println("Min value: " + minValue); // Min value: 2
}
}
minHeap.offer() ==> 삽입(최소값이 최 상단에 위치 하도록 삽입된다.)
minHeap.peek() ==> 최소값 확인
minHeap.poll() ==> 최소값 삭제
'알고리즘 > 힙' 카테고리의 다른 글
프로그래머스 - 더 맵게(Java) (0) | 2025.01.09 |
---|