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
반응형
'알고리즘' 카테고리의 다른 글
[알고리즘/Programmers] LV2. 다리를 지나는 트럭 (Java) (0) | 2024.07.04 |
---|---|
[알고리즘/Programmers] LV1. 최소직사각형 (Java) (1) | 2024.06.13 |
[알고리즘/Programmers] LV2. 위장 (Java) (0) | 2021.11.23 |
[알고리즘/Programmers] LV2. 해시 - 전화번호 목록 (Java) (0) | 2021.08.10 |
[알고리즘/Programmers] LV1. 소수 찾기 (0) | 2021.05.03 |