Heap
·
Algorithm/Basics
최대 힙을 구현해보자힙은 이진트리로 구현하는 우선순위 큐 이다. (이진트리는 배열로)삽입 O(lgN), 삭제 O(lgN) 힙의 삽입힙에 새로운 요소가 들어오면, 일단 새로운 노드를 힙의 마지막 노드에 삽입한다.새로운 노드를 부모 노드들과 교환한다.static void add(int x){ tree[++size] = x; int idx=size; while(idx >1){ if(tree[idx] 힙의 삭제최대 힙에서 최대값은 루트 노드이므로 루트 노드가 삭제된다. (최대 힙에서 삭제 연산은 최대값 요소를 삭제하는 것)삭제된 루트 노드에는 힙의 마지막 노드를 가져옴힙을 재구성static int remove(){ if(size == 0) return 0; int top = tree[1]..