문제 3 · -힙의 삽입·삭제 연산
문제 3 [2점]
풀이 및 해설
- 부모:
- 자식:
삽입(insert)
- 새 원소를 배열의 마지막(가장 끝) 자리에 넣어 완전 트리 형태를 유지한다.
- 이 원소를 부모와 비교하며, 부모보다 작으면(최소 힙 기준) 부모와 교환하는 상향 이동percolate up을 힙 순서가 만족될 때까지 반복한다.
트리 높이가
삭제(deleteMin)
- 루트(최솟값)를 꺼내고, 배열의 마지막 원소를 루트 자리로 옮긴다.
- 이 원소를
개 자식 중 가장 작은 자식과 비교하여, 자기보다 작으면 그 자식과 교환하는 하향 이동percolate down을 반복한다.
이유
트리의 높이는
따라서