본문 바로가기

대학교시절

알고리즘 과제 #3 (정렬 및 속도 비교)

문제 :  정렬 알고리즘의 실행시간 비교


1. Exchange sort, Merge Sort와 Quick Sort 알고리즘들을 구현하고, key를 비교한 횟수, key가 move된 횟수, 실행시간을 측정하여 비교한다. (clock 함수 사용)


2. 원소 개수가 다른 3가지 정렬된 데이터(S[i] = i, 1≤ i ≤n)를 생성하여 Exchange sort와 Quick Sort를 비교한다. 단, n은 실행시간이 충분한 유효 숫자를 가질 수 있도록 각자 정한다.


3. 원소 개수가 다른 3가지 임의의 데이터를 생성하여 Merge Sort와 Quick Sort를 비교한다. 각 경우에 대해 (원소 개수가 같은) 5개의 데이터를 생성하여 평균값을 구한다. 데이터는 프로그램 안에서 생성한다. 


4. 측정된 실행시간과 이론적 시간 복잡도가 일치하는지 분석한다. 



입력


입력 파일의 이름은 input.txt이다. 처음 세 줄에는 정렬된 데이터의 크기가 입력된다. 그 다음 세 줄에 임의의 데이터의 크기가 입력된다.


10 /* 정렬된 데이터의 크기

20

30

100 /* 임의 생성된 데이터의 크기

200

300



출력


출력은 다음과 같은 형식으로 한다. 




소스코드




보고서 문서



정렬 알고리즘의 실행시간 비교_by AmericanoJH.pdf