완전 이진트리 모양과 부모-자식 우선순위를 함께 지킨다
힙은 루트가 극값이라는 조건을 유지합니다. 인덱스 공식으로 부모와 자식을 찾고, 그 쌍만 비교해 복원합니다.
min heap example
2i=0
5i=1
8i=2
9i=3
6i=4
10i=5
push
새 노드 한 개가 부모 방향으로 올라갑니다.
pop
루트 교체 값 한 개가 자식 방향으로 내려갑니다.
heapify
마지막 부모부터 내려가며 모든 쌍을 복원합니다.