heap operation

힙 루트 우선순위

parent=(i-1)//2, left=2i+1, right=2i+2, top(), heapify는 배열로 트리를 다루는 규칙입니다.

push

새 값을 끝에 넣고 부모와 비교하며 위로 올립니다

최소 힙은 parent <= child 조건을 회복할 때까지 교환합니다.

pop

heap pop 절차

두 자식 중 우선순위가 더 높은 쪽과 비교합니다.

top

heap peek 의미

두 번째, 세 번째 값의 상대 순서는 보장되지 않습니다.

heapify

기존 배열을 아래쪽 내부 노드부터 정리해 힙으로 만듭니다

반복 push보다 빠르게 초기 힙을 구성할 수 있습니다.

인덱스 부모와 자식 위치 공식이 틀리면 구조가 즉시 무너집니다.
최소/최대 비교 방향만 바뀌어도 루트 의미가 완전히 달라집니다.
복잡도 push와 pop은 트리 높이만큼 움직여 O(log N)입니다.