| 
      
        |  |  
        |  |  
        |  |  
        |  |  
        | [화일구조] 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)
 ....
 |  
        |  |  
        |  |  
        |  |  
        |  |  
        |  |  
        |  |  
        |  |  
        |  |  
    	|  |  
        |  |  
        |  |  
        |  |  
        |  |  |  |  |