알고리즘
[자료구조/Java] 자바 Heap 사용 방법
자기개발자 유자
2024. 5. 24. 14:14
728x90
반응형
자료구조 Heap?
완전이진트리의 일종이다. 우선순위 큐를 위해 만들어진 자료구조이다.
루트의 위치하는 값이 최대 혹은 최소값이 된다.
Java 에서 Heap 사용하기
Java에서는 Heap Collection 이 없다. 최소힙, 최대힙을 구하기 위해 ProrityQueue 를 사용하면된다.
// 최소힙 (PriorityQueue 그대로 사용)
PriorityQueue<Integer> minHeap = new PriorityQueue<>();
// 최대힙 (Comparator로 정렬해서 사용)
PriorityQueue<Integer> maxHeap = new PriorityQueue<Integer>(new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o2-o1;
}
});
최소힙은 그대로, 최대힙은 정렬해서 사용한다.
참고
728x90
반응형