(1)選取排序方法需要考慮的因素
1)待排序的元素數目n。
2)元素本身資訊量的大小。
3)關鍵字的結構及其分布情況。
4)穩定性的要求。
5)語言工具的條件,儲存結構及輔助空間的大小等。
(2)排序演算法小結
1)若n較小(n<=50),則可以採用直接插入排序或簡單選擇排序。由於直接插入排序所需的記錄移動操作較簡單選擇排序多,因而當記錄本身資訊量較大時,用簡單選擇排序較好。
2)若檔案的初始狀態已按關鍵字基本有序,則選用直接插入或氣泡排序為宜。
3)若n較大,則應採用時間複雜度為o(nlog2n)的排序方法:快速排序、堆排序或歸併排序。
快速排序被認為是目前基於比較的內部排序中最好的方法,當待排序的關鍵字是隨機分布時,快速排序的平均時間最短。堆排序所需的輔助
內部排序演算法
內部排序是指待排序列完全存放在記憶體中所進行的排序過程,適合不太大的元素序列。1.快速排序int partition int a,int low,int high a low a high while low2.並歸排序 void merging int list1,int list1 size,i...
內部排序演算法
內部排序演算法就是指記憶體中的排序演算法,而外部排序演算法則是指待排序資料過多,無法一次性載入到記憶體中,排序過程需要讀取磁碟,因此需要考慮磁碟 io 的消耗!內部排序演算法按照操作型別可大致分為五類 插入排序 交換排序 選擇排序 歸併排序 計數排序 內部排序演算法按照時間複雜度可大致分為三類 簡單...
內部排序演算法 選擇排序
選擇排序法可使用兩種方式排序 從小到大或從大到小 例如 當n個資料需要由大至小排序時,首先將第乙個位置的資料依次和第2 3 4 n個位置的資料進行比較。如果資料大於或等於其中乙個位置,則不變 若小於其中乙個位置的資料,則兩個位置的資料互換。互換後第1個位置的資料繼續與後續位置的資料進行比較,直到位置...