새 값은 위로 복원
끝에 넣은 뒤 부모와 비교하며 올라가 top 조건을 다시 만족시킵니다.
힙 배열은 정렬 배열이 아닙니다. 부모-자식 관계와 top 복원 방향을 보면 push, pop, heapify의 목적이 선명해집니다.
끝에 넣은 뒤 부모와 비교하며 올라가 top 조건을 다시 만족시킵니다.
마지막 값을 루트에 올린 뒤 더 우선인 자식과 바꾸며 힙 조건을 회복합니다.
전체를 반복 삽입하지 않고 내부 노드부터 내려가며 O(N) 빌드를 노릴 수 있습니다.