목차
1. 우선순위 큐
peek() : 최대 우선 순위 요소 반환(값 제거 X), O(1)
1. 루트(최상단 노드) 값 반환
int peek(int aa[]) { return arr[1]; }
enuqeue() : 새 요소 삽입
1. Heap 끝에 새 요소 삽입
2. 부모 노드와 비교, 우선순위가 높다면 노드 값 바꾸기
3. Heap 속성이 유지될 때까지(우선순위) 2 반복
dequeue() : 최대 우선 순위 요소 삭제, 값 반환
1. 루트 노드값 추출
2. heap 마지막 요소를 루트 노드에 위치
3. 마지막 요소 제거 및 Heapify() 수행
*Heapify(): Heap속성 유지(위에서 아래로 내려가며-> 양쪽 자식노드와 우선순위 비교)