五種排序演算法比較

2021-06-28 13:25:05 字數 417 閱讀 1418

目前已學過插入排序,希爾排序,堆排序,歸併排序和快速排序,其中希爾排序增量序列的選取和快速排序中樞紐元的選取都會影響演算法效能。本例子中希爾排序的增量序列採用的shell建議的,即初始增量為數字長度的一半,下乙個增量為前乙個增量的一半。(可能不是最好的增量序列)。快速排序樞紐元選用的是三數中值。還是測試200000個數排序時間,這裡僅附上主程式:

void main()

五種排序演算法的耗時:

多次測試果然是快速排序最優,希爾排序其次,插入排序是最低效的。測試中也出現快速排序和希爾排序用時非常接近的情況,可能200000個數還是有點少,但設定再大點的數我的電腦就記憶體溢位了,不便展示。

五種內部排序演算法效能比較 C

五種內部排序演算法效能比較 1.直接插入排序演算法 將乙個待排序的記錄插入到若干個已排好序的有序記錄中的適當位置,從而得到乙個新的 記錄數增加1的有序資料序列,直到插入完成。在最開始,整個有序資料序列只有乙個資料,當全部資料插入完畢後,整個資料序列有序,並且在最後乙個資料插入有序資料序列之前,每乙個...

8種排序演算法比較

8種排序演算法,各演算法名稱見下表或見原始碼。執行程式時,將需要你輸入一數值,以確定對多少隨機數進行排序。然後將會顯示各排序演算法的耗時。並且你可選擇時否進行正序和反序測試。由於水平有限,可能存在一些錯誤,還請各位多多指點!通過實驗我們可將結果列入下表。以下是vc6.0 release win200...

五種排序演算法 快速排序

1 在陣列中選乙個基準數 通常為陣列第乙個 2 將所有比基準值小的值擺放在基準的前面,所有比基準值大的擺放在基準的後面 相同的數可以放到任意一邊 在這個分割槽推出之後,該基準就處於數列的中間位置。3 遞迴地把 基準值前面的子數列 和 基準值後面的子數列 進行排序。下面以數列a 30,40,10,20...