排序演算法的分析

2021-10-25 10:30:07 字數 982 閱讀 5743

排序分為

1、插入排序:直接插入、折半插入、希爾

2、選擇排序:簡單選擇、堆排序

3、交換排序:冒泡、快速

4、歸併排序、基數排序

一、排序過程的特點:

1、氣泡排序堆排序在每趟處理後,都能產生當前的最大值或最小值(即序列頭或尾是有序的)

2、簡單選擇排序直接插入排序,每趟排序後其前面均為有序的。

3、交換類:冒泡、快速排序;選擇類:簡單選擇、堆排序每一趟就能確定乙個元素的最終位置

4、插入類:希爾排序、直接插入排序(特例:最小的在尾部)、折半插入;歸併排序只有到最後一趟才能產生有序的序列。

5、簡單選擇排序歸併排序基數排序時間複雜度與序列初始狀態無關

6、直接選擇折半插入比較次數與序列初始狀態無關

二、穩定性:

1、穩定:

①插入排序類——直接插入排序、折中排序

②交換排序類——冒泡

③二路歸併排序、基數排序

2、不穩定:

①插入排序類——希爾排序

②交換排序類——快速排序

③選擇排序類——簡單選擇排序、堆排序

三、時/空間複雜度:

排序演算法分析

所謂排序,即將原本無需的乙個序列重新排列成有序的序列。注意,這個序列中的每一項可能是單獨的資料元素,也可能是一條記錄。所謂穩定性,是指排序中的序列中有兩個或者兩個以上相同的資料項,排序前後,這些相同的資料項相對位置沒有發生變化,那麼這個排序演算法是穩定的。下面就幾種常見排序演算法進行總結分析,並會加...

排序演算法分析

注 都是以增序為例說明!一 氣泡排序 a 原理 從陣列的第乙個位置開始,依次兩兩比較array index 與array index 1 如果array index 大於array index 1 則利用temp交換兩者位置,直到陣列結束。從陣列的第乙個位置開始,重複上面的動作,直至第n 1個位置結...

排序演算法分析 氣泡排序

假設有n個元素,現在要把這些元素按照從小到大的順序進行排序,那麼演算法步驟如下,從第0個元素開始,比較相鄰的兩個元素,第0個和第1個,第1個和第2個,第n 2個和第n 1個,比較範圍是 0,n 1 所有元素都參與比較 如果左邊的比右邊的大,就交換他們的位置,一直比較到最後乙個元素。這樣經過第一輪交換...