常用排序演算法介紹

2021-06-18 15:08:59 字數 516 閱讀 4701

插入排序:將乙個資料插入到已經排好序的有序資料中。演算法適用於少量資料的排序,

時間複雜度

為o(n^2)。是

穩定的排序方法。

歸併排序:將兩個(或兩個以上)有序表合併成乙個新的有序表,即把待排序序列分為若干個子串行,每個子串行是有序的。然後再把有序子串行合併為整體有序序列。是一種

穩定的排序方法

。若將兩個有序表合併成乙個有序

表,稱為2-路歸併。

int is1[n],is2[n];// 原陣列is1,臨時空間陣列is2,n為個人指定長度

void mergesort(int a,int b)// 下標,例如陣列int is[5],全部排序的呼叫為mergesort(0,4)

{ if (a

希爾排序:先取乙個小於n的整數d1作為第乙個

增量,把檔案的全部記錄分成d1個組。

所有距離為d1的倍數的記錄放在同乙個組中

。先在各組內進行

直接插入排序

;然後,取第二個增量d2

7種排序演算法的介紹(常用)

一 快速排序 1.簡單介紹 快速排序是由東尼 霍爾所發展的一種排序演算法。在平均狀況下,排序 n 個專案要 n log n 次比較。在最壞狀況下則需要 n2 次比較,但這種狀況並不常見。事實上,快速排序通常明顯比其他 n log n 演算法更快,因為它的內部迴圈 inner loop 可以在大部分的...

7種排序演算法的介紹(常用)

一 快速排序 1.簡單介紹 快速排序是由東尼 霍爾所發展的一種排序演算法。在平均狀況下,排序 n 個專案要 n log n 次比較。在最壞狀況下則需要 n2 次比較,但這種狀況並不常見。事實上,快速排序通常明顯比其他 n log n 演算法更快,因為它的內部迴圈 inner loop 可以在大部分的...

排序演算法介紹

排序也稱排序演算法 sort algorithm 排序是將一組資料,依指定的順序進行排列的過程。1 內部排序 指將需要處理的所有資料都載入到內部儲存器 記憶體 中進行排序。2 外部排序法 資料量過大,無法全部載入到記憶體中,需要借助外部儲存 檔案等 進行排序。1 穩定 如果 a 原本在 b 前面,而...