[java] 자바 힙에서 최소/최대값 삭제 예시
이 포스트에서는 자바에서 힙 자료구조에서 최소값 또는 최대값을 삭제하는 방법에 대해 살펴보겠습니다.
최소값 삭제 예시
아래는 자바에서 최소 힙에서 최소값을 삭제하는 예시 코드입니다.
import java.util.PriorityQueue;
public class MinHeapExample {
public static void main(String[] args) {
PriorityQueue<Integer> minHeap = new PriorityQueue<>();
// 값을 추가
minHeap.add(3);
minHeap.add(1);
minHeap.add(5);
// 최소값 삭제
int min = minHeap.poll();
System.out.println("최소값: " + min);
}
}
최대값 삭제 예시
아래는 자바에서 최대 힙에서 최대값을 삭제하는 예시 코드입니다.
import java.util.Collections;
import java.util.PriorityQueue;
public class MaxHeapExample {
public static void main(String[] args) {
PriorityQueue<Integer> maxHeap = new PriorityQueue<>(Collections.reverseOrder());
// 값을 추가
maxHeap.add(3);
maxHeap.add(1);
maxHeap.add(5);
// 최대값 삭제
int max = maxHeap.poll();
System.out.println("최대값: " + max);
}
}
위의 코드에서 PriorityQueue
는 자바에서 기본으로 제공되는 우선순위 큐 자료구조를 나타내며, Collections.reverseOrder()
를 사용하여 최대 힙으로 동작하도록 설정했습니다.
힙에서의 값 삭제는 poll()
메서드를 사용하여 가장 작은 값 또는 가장 큰 값을 삭제할 수 있습니다.
참고 자료: