대체선택
-
정렬 합병 #1. 대체 선택Programming/College 2010. 6. 18. 13:33
정렬되지 않은 데이터를 정렬시키면서 하나의 파일에 합병하기 위해 대체선택으로 Run을 생성해야한다. ▣ 대체선택의 런 생성 방법 1. 버퍼에 입력 파일로부터 m개의 레코드를 읽어와서 첫 번째 런을 생성한다. 2. 버퍼에서 키 값이 가장 작은 레코드를 선택하여 출력한다. 3. 입력 파일로부터 다음 레코드를 읽어와서 출력된 레코드와 대체시킨다. 이 때 만일 읽어온 키 값이 출력된 키 값보다 작으면 읽어온 키 값에 "동결(Frozen)" 표시. 동결된 레코드는 단계②에서 제외된다. 아직 동결되지 않은 레코드가 있으면 단계②로 되돌아간다. 4. 동결된 레코드들을 모두 해제하고 단계②로 돌아가 새로운 런을 생성한다. replacementSelection() // 대체선택 알고리즘 // m : 버퍼에 들어가는 레코..