外部排序的方法主要包括以下幾種:
歸併排序法:這是外部排序中常用的一種方法。它包括兩個階段:首先,根據內存緩衝區的大小,將外存上的文件分成若干子文件,對它們進行內部排序並寫回外存作爲有序子文件(歸併段)。然後,對這些有序子文件進行逐趟歸併,直至得到整個有序文件。
多路平衡歸併和敗者樹:爲了減少磁盤I/O次數,可以採用增加歸併路數的方法。這樣,可以減少歸併趟數,進而減少總的磁盤I/O次數。敗者樹是一種用於減少比較次數的數據結構,可以在內部歸併時提高效率。
置換-選擇排序:這是一種適用於外部排序的排序方法,它通過置換和選擇操作來逐步構建有序序列。
最佳歸併樹:這是一種優化技術,用於確定最佳的歸併順序,以減少歸併趟數和總的比較次數。
外部排序的特點是由於磁盤讀/寫操作的機械動作時間遠大於內存運算時間,因此其性能主要受磁盤I/O次數的影響。在外部排序中,應着力減少I/O次數,以提高排序速度。