trg_angel   1년 전

이 파트는 이제 처음 접해보고 코드를 짠거라서..... 좀 도와주세요!!

kdr06006   1년 전

스캔을 왜 5개만 받나요?

N번만큼 받아야하는거같습니다

chltjrwns1gh   1년 전

동작 방식에 약간의 오류가 있는 듯 합니다.

 - 최소힙(min heap) 구성 후, a[0]값을 a[z]로 옯겨서 방출시키는 과정 이후, 다시 최소힙 (min heap)의 조건을 만족시키기 위해서 작동하는 for문(15~32번째 줄)

 -  - point = 1~z의 모든 노드를 최소힙 (min heap)의 조건을 만족시켜야 하는 것이 아닙니다. 그냥 자리를 바꾼 그 root 노드만 while문을 통해서 아래로 내려오면 되는 것입니다.

-  - 대신에 입력을 받으면서 최소힙(min heap)을 미리 구성해놓아야합니다.

-  - 지금 구현되어 있는 거는 for (int z = size - 1; z > 0; z--)가 n번, for (int i = 1; i<z+1; i++)이 z번, 그 안에 있는 while문이 평균적으로 logn번 작동하니까 총 시간복잡도는 O(n^2 logn)으로 보입니다.

-  - 힙정렬(heap sort) 삽입 과정에서 총 시간복잡도가 O(nlogn)(각각의 노드 삽입 후 보수는 O(logn)), 삭제 과정에서 총 시간복잡도가 O(nlogn)입니다.

+ size = "5" (5번째 줄)

+ a["5"] (4번째 줄)

+ v<"5" (11번째 줄)

댓글을 작성하려면 로그인해야 합니다.