힙은 정렬된 배열이 아니라 부모와 자식 사이의 우선순위 조건만 지키는 트리입니다. push와 pop은 이 조건을 복구하는 과정입니다.
부모보다 우선순위가 높으면 교환하며 루트 방향으로 올라갑니다.
두 자식 중 더 우선순위가 높은 쪽과 바꾸며 아래로 내려갑니다.
반복 push보다 heapify가 전체 구축에서는 더 낮은 비용을 가집니다.