c언어 #알고리즘 #제자리 힙정렬 #자료구조1 4주차_실습과제+해설_힙과 힙정렬(2)_[문제] [문제 핵심] : "제자리 힙 정렬"의 원리는 내가 이해해본 봐로 해보면, ①. n개만큼 삽입된 배열을 rBuildHeap()와 downHeap()함수를 이용해 최대합 정렬로 이진트리를 만든다. ②. ①에서 만든 배열에서 Root노드값과 맨 마지막 자식 노드값을 교환한뒤 다시 최대합 정렬 ③. ②의 과정을 뒤에서부터 Root노드의 다음 노드 까지 반복한다. 코드 짠 순서대로 설명해보겠습니다. 1_ 임의의 인덱스에서 최대합 이진트리 조건에 맞도록 배치하는 함수 [downHeap(index)] : 해설 : 3주차_문제해서 구현한 코드와 같지만, 제자리 힙 정렬 함수[inPlaceHeapSort()]와 비슷하지만, 차이가 있으므로, 잘 비교해야 한다. 2_ downHeap()과 재귀를 이용하여, 이진트리의 모.. 2023. 9. 25. 이전 1 다음