넣고 올리기
문제 1과 2는 0부터 세는 최소 힙 H = [3, 8, 5, 12, 10, 9, 7, 15]에서 각각 따로 시작한다.
- 4를 넣을 때 처음 놓이는 인덱스를 적는다.
- sift up의 각 단계에서 비교하는 인덱스와 값, 교환 여부를 적고 멈추는 조건을 적는다.
- 삽입 뒤의 배열을 적는다.
- 교환 횟수의 최댓값을 높이로 적고 삽입 비용을 적는다.
해설 펼치기
- 모양 조건을 지키려면 배열 끝, 인덱스 8이다.
- 8: 4 ↔ 부모 3: 12 교환. 3: 4 ↔ 부모 1: 8 교환. 1: 4 ↔ 부모 0: 3에서 4 ≥ 3이라 멈춘다.
- [3, 4, 5, 8, 10, 9, 7, 15, 12]다.
- 한 번에 한 레벨씩 올라가므로 많아야 높이 ⌊log₂ n⌋번이고 O(log n)이다.