常見八大排序演算法時間空間穩定複雜統計

2021-10-23 07:45:45 字數 1753 閱讀 5164

排序演算法常見八種:

冒泡,選擇,插入,希爾,快排,堆排,歸併,基排

排序演算法分類:

插入類:插入排序,希爾排序

選擇類:選擇排序,堆排序

交換類: 氣泡排序,快速排序

歸併類: 歸併排序

分配類: 基數排序(計數排序,桶排序),通過額外空間來分配和收集來實現排序,時間複雜度可以達到線性階,即o(n)

排序方式

平均時間複雜度

插入排序o(n^2)

希爾排序o(n^1.3)

氣泡排序o(n^2)

快速排序o(nlog2n)

選擇排序o(n^2)

堆排序o(nlog2n)

歸併排序o(nlog2n)

基數排序o(d(n+r))

排序方式

空間複雜度

插入排序o(1)

希爾排序o(1)

氣泡排序o(1)

快速排序o(log2n)

選擇排序o(1)

堆排序o(1)

歸併排序o(n)

基數排序o(r)

排序方式

穩定性複雜性

插入排序穩定簡單

希爾排序不穩定複雜

氣泡排序穩定簡單

快速排序不穩定複雜

選擇排序不穩定簡單

堆排序不穩定複雜

歸併排序穩定複雜

基數排序穩定複雜

不穩定並不是指排序不成功,而是相同的數字,在排序後發生了位置交換,稱為不穩定。

常見八大排序演算法

排序演算法 穩定性平均時間複雜度 最差時間複雜度 空間複雜度 備註堆排序 不穩定o nlogn o nlogn o 1 n大時較好 快速排序 不穩定o nlogn o n 2 o nlogn n較大時好 希爾排序 不穩定o nlogn o n s o 1 s時所選的分組 選擇排序 不穩定o n 2 ...

八大排序演算法

1.直接插入排序 原理 將陣列分為無序區和有序區兩個區,然後不斷將無序區的第乙個元素按大小順序插入到有序區中去,最終將所有無序區元素都移動到有序區完成排序。要點 設立哨兵,作為臨時儲存和判斷陣列邊界之用。實現 void insertsort node l,int length void shell ...

八大排序演算法

一 概述 八大排序演算法包括 1 插入排序之直接插入排序 straight insertion sort 2 插入排序之希爾排序 shells sort 3 選擇排序之簡單選擇排序 selection sort 4 選擇排序之堆排序 heap sort 5 交換排序之氣泡排序 bubble sort...