壹個好的排序方法可以有效提高排序速度和排序效果。
計算機領域主要使用的數據排序方法根據占用內存的方式不同分為兩類:內部排序方法和外部排序方法。
內部分類方法
如果整個排序過程可以在不訪問外部存儲器的情況下完成,則稱為內部排序。
內部排序的方法有很多種,根據使用的策略不同可以分為五類:插入排序、選擇排序、交換排序、合並排序和基數排序。
其中,插入排序主要包括直接插入排序和希爾排序;選擇排序主要包括直接選擇排序和堆排序;交換排序主要包括冒泡排序和快速排序。
外部分類方法
外部排序基本上由兩個獨立的階段組成。首先,根據可用內存大小,將外存中n條記錄的文件分成若幹個長度為k的子文件或段,依次讀入內存,並使用有效的內部排序方法進行排序,排序後的子文件被重新寫入外存。這些有序子文件通常被稱為合並段或順序字符串;然後,將這些合並段逐個合並,使合並段(有序子文件)由小到大逐漸增加,直到獲得整個有序文件。