본문내용
0);
}
fast_transpose(A, B);
printf(\"Transpose processing has been finished.\\n\");
printf(\"\\n\\n\");
//printf(\"%d, %d, 0%d\\n\", B[0].row, B[0].col, B[0].value);
//for (i = 1; i < MAX; i++)
//printf(\"%d, %d, %d\\n\", B[i].row, B[i].col, B[i].value);
for (i = 0; i < 100; i++) {
a[i] = B[i + 1].value;
}
printf(\"\\n\\n\");
int size = sizeof(a) / sizeof(a[0]);
counting_sort(a, size);
return 0;
}
b) 실행 화면을 캡쳐. 실행시 각 배열 a, row_terms, starting_pos, sorted가 출력되도록 할 것.
c) 이 알고리즘의 시간 복잡도를 계산하고, 선택 정렬과 효율성을 비교하라.
계수정렬은 O(N)이라는 것 자체만으로도 정렬법 중에서 엄청나게 빠른 편에 속하고 이것이 장점으로 작용한다.
하지만 선택정렬은 O(N^2)라서 계수정렬에 비해 시간복잡도가 높다.
}
fast_transpose(A, B);
printf(\"Transpose processing has been finished.\\n\");
printf(\"\\n\\n\");
//printf(\"%d, %d, 0%d\\n\", B[0].row, B[0].col, B[0].value);
//for (i = 1; i < MAX; i++)
//printf(\"%d, %d, %d\\n\", B[i].row, B[i].col, B[i].value);
for (i = 0; i < 100; i++) {
a[i] = B[i + 1].value;
}
printf(\"\\n\\n\");
int size = sizeof(a) / sizeof(a[0]);
counting_sort(a, size);
return 0;
}
b) 실행 화면을 캡쳐. 실행시 각 배열 a, row_terms, starting_pos, sorted가 출력되도록 할 것.
c) 이 알고리즘의 시간 복잡도를 계산하고, 선택 정렬과 효율성을 비교하라.
계수정렬은 O(N)이라는 것 자체만으로도 정렬법 중에서 엄청나게 빠른 편에 속하고 이것이 장점으로 작용한다.
하지만 선택정렬은 O(N^2)라서 계수정렬에 비해 시간복잡도가 높다.
소개글