마지막 부모부터 거꾸로 sift down하면 아래쪽부터 힙이 되어 올라간다
배열 [9, 5, 6, 2, 3, 8, 1, 7, 4]를 heapify한다. 진행한 단계를 옮기면 sift down 중인 자리, 비교하는 자식 노드, 이미 힙이 된 부분이 바뀐다.
같은 값으로 만들어도 방법에 따라 배열이 달라지고 둘 다 힙이다
같은 9개 값을 하나씩 heappush하는 방법과 heapify로 한꺼번에 만드는 방법을 비교한다. 방법을 바꾸면 결과 트리와 배열, 교환 횟수가 바뀐다.
노드가 많은 레벨은 내려갈 거리가 짧아 heapify의 총이동 횟수 상한이 n에 비례한다
높이 h인 가득 찬 완전 이진트리를 생각한다. 높이를 바꾸면 레벨마다의 노드 수, heapify에서 내려갈 수 있는 최대 거리, n번 삽입에서 올라갈 수 있는 최대 거리의 합이 바뀐다.