外部排序的方法
文件通常是按塊存儲在磁盤上的,操作系統也是按塊對磁盤上的信息進行讀寫的。因為磁盤讀/寫的機械動作所需的時間遠遠超過內存運算的時間(相比而言可以忽略不計),因此在外部排序過程中的時間代價主要考慮訪問磁盤的次數,即I/O次數。
外部排序通常采用歸并排序法。它包括兩個相對獨立的階段:①根據內存緩沖區大小,將外存上的文件分成若干長度的子文件,依次讀入內存并利用內部排序方法對它們進行排序,并將排序后得到的有序子文件重新寫回外存,稱這些有序子文件為歸并段或順串;②對這些歸并段進行逐趟歸并,使歸并段(有序子文件)逐漸由小到大,直至得到整個有序文件為止。