Dazzling 개발 노트
[JAVA] 힙과 최소 힙, 최대 힙 개념 및 구현 본문
힙
완전 이진트리 형태의 최대, 최솟값을 빠르게 찾아내는데 유용한 자료구조
부모 노드의 key가 자식 노드의 key보다 작거나 같은 완전 이진트리
부모 노드의 key가 자식 노드의 key보다 크거나 같은 완전 이진트리
JAVA로 힙 구현하기
우선순위 큐인 PriorityQueue를 통해 구현할 수 있다.
최대 힙은 내림차순 정렬이어야 하므로, Collections.reverseOrder 옵션을 추가해서 사용한다.
PriorityQueue<Integer> q = new PriorityQueue<>(Collections.reverseOrder());
예제 문제
https://www.acmicpc.net/problem/11279
참고링크
https://innovation123.tistory.com/111
https://codegym.cc/ko/groups/posts/ko.382.javaui-choedae-hib