|
|
|
|
[화일구조] 3원 다단계 합병 알고리즘 구현
|
|
|
|
3원 다단계 합병 알고리즘 구현
담당교수
:
학과
:
학번
:
성명
:
1. 숙제 설명
난수 생성기(random number generator)를 이용하여 정수(0[=정수 [= 10000) 1000개를 생성하고 레코드 하나에 정수 하나를 저장한 파일을 생성하라. 이 화일을 3-원 다단계 합병 기법으로 정렬하는 프로그램을 작성해 보라. 이 프로그램에는 초기 런들을 피보나치 수로 분배하는 알고리즘이 구현되어야 한다. 여기서는 런의 수가 15보다 큰 피보나치 수를 사용하고 메인 메모리에는 4개의 레코드를 유지할 수 있다고 가정하라. 프로그램의 출력은 앞에서 지시한 명세대로 올바르게 작동한다는 것을 증명할 수 있도록 개인적인 출력 형식을 만들어 사용하라.
2. 프로그램 설명
1)프로그램 조건
-초기 런들을 피보나치 수로 분배하는 알고리즘을 포함하고 있어야 한다.
-프로그램 실행 후 input.txt , intermed.txt , output.txt 파일이 생성되어야 한다.
-input.txt에는 랜덤 넘버 제너레이터로 만든 1000개의 정수가 들어있다.
-intermed.txt에는 3원 다단계 합병 과정을 보여주는 내용이 들어있다.
-output.txt에는 3원 다단계 합병으로 정렬된 정수 1000개가 들어있다.
※input, output파일을 출력 형식
input.txt : 한줄에 정수 한 개
output.txt : 한줄에 정수 한 개, 정렬된 결과이기 때문에 작은 수부터 큰수 순서로 되어있다.
정수가 1000개인지를 확인할 수 있도록 각 라인에 record 1, record 2, ... 식으로 카운트를 두었다.
2)프로그램 함수 설명
-void make_input(void)
.... |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|