티스토리 뷰
이렇게 생긴 max heap에서 root인 50을 지운다고 해 보자.
우리가 쓰는 알고리즘은 가장 오른쪽에 있던 값을 떼서 루트에 넣고 본다.(대책 노...)
이제 adjust를 하는데, 31이랑 49랑 바꿔본다. 31이랑 또 48이랑 바꾼다. 이러면 다시 max heap의 조건을 충족한다.
근데 바꾸는 기준이 뭘까?? 44랑 바꿔도 max heap은 됐는데...? 이건 코드를 보면 알 수 있다.
//코드가 정말 보기싫다. 다음에 정리하자
'Algorithm > 이론' 카테고리의 다른 글
[자료구조] 트리/Kruskal's Algorithm (0) | 2019.06.03 |
---|---|
[자료구조] binary search tree(이진 탐색 트리) (0) | 2019.05.31 |
[자료구조] heap/ 최대 heap에서 insert (0) | 2019.05.31 |
[자료구조] heap(힙), priority queue(우선순위 큐) (0) | 2019.05.31 |
[자료구조] thread binary tree에서 inorder traverse 하기 (0) | 2019.05.31 |