Algorithm/이론
[자료구조] heap/최대 heap에서 delete
SweetDev
2019. 5. 31. 17:10

이렇게 생긴 max heap에서 root인 50을 지운다고 해 보자.

우리가 쓰는 알고리즘은 가장 오른쪽에 있던 값을 떼서 루트에 넣고 본다.(대책 노...)
이제 adjust를 하는데, 31이랑 49랑 바꿔본다. 31이랑 또 48이랑 바꾼다. 이러면 다시 max heap의 조건을 충족한다.

근데 바꾸는 기준이 뭘까?? 44랑 바꿔도 max heap은 됐는데...? 이건 코드를 보면 알 수 있다.
//코드가 정말 보기싫다. 다음에 정리하자