各種排序演算法的時間複雜度

2022-06-20 23:12:12 字數 1074 閱讀 3362

各種常用排序演算法

類別排序方法

時間複雜度

空間複雜度

穩定性複雜性

特點最好

平均最壞

輔助儲存

簡單插入

排序直接插入

o(n)

o(n2)

o(n2)

o(1)

穩定簡單 

希爾排序

o(n)

o(n1.3)

o(n2)

o(1)

不穩定複雜

選擇排序

直接選擇

o(n)

o(n2)

o(n2)

o(1)

不穩定堆排序

o(n*log2n)

o(n*log2n)

o(n*log2n)

o(1)

不穩定複雜

交換排序

氣泡排序

o(n)

o(n2)

o(n2)

o(1)

穩定

簡單1、氣泡排序是一種用時間換空間的排序方法,n小時好

2、最壞情況是把順序的排列變成逆序,或者把逆序的數列變成順序,最差時間複雜度o(n^2)只是表示其操作次數的數量級

3、最好的情況是資料本來就有序,複雜度為o(n)

快速排序

o(n*log2n)

o(n*log2n) 

o(n2)

o(log2n)~o(n) 

不穩定複雜

1、n大時好,快速排序比較占用記憶體,記憶體隨n的增大而增大,但卻是效率高不穩定的排序演算法。

2、劃分之後一邊是乙個,一邊是n-1個,

這種極端情況的時間複雜度就是o(n^2)

3、最好的情況是每次都能均勻的劃分序列,o(n*log2n)

歸併排序

o(n*log2n) 

o(n*log2n) 

o(n*log2n) 

o(n)

穩定複雜

1、n大時好,歸併比較占用記憶體,記憶體隨n的增大而增大,但卻是效率高且穩定的排序演算法。

各種排序演算法時間複雜度

各種排序演算法比較 各種常用排序演算法 類別排序方法 時間複雜度 空間複雜度 穩定性複雜性 特點最好 平均最壞 輔助儲存 簡單插入 排序直接插入 o n o n2 o n2 o 1 穩定簡單 希爾排序 o n o n1.3 o n2 o 1 不穩定複雜 選擇排序 直接選擇 o n o n2 o n2...

各種排序演算法的時間複雜度

選擇排序 快速排序 希爾排序 堆排序不是穩定的排序演算法,氣泡排序 插入排序 歸併排序和基數排序是穩定的排序演算法。排序演算法不穩定的含義是 在排序之前,有兩個數相等.但是在排序結束之後,它們兩個有可能改變順序.比如說 在乙個待排序佇列中,a和b相等,且a排在b的前面,而排序之後,a排在了b的後面....

各種排序演算法的時間複雜度

當我們評價乙個演算法的時間效能時,主要標準就是演算法的漸近時間複雜度,在演算法分析時,經常是將漸近時間複雜度t n o f n 簡稱為時間複雜度,其中的f n 一般是演算法中頻度最大的語句頻度。演算法中語句的頻度不僅與問題規模有關,還與輸入例項中各元素的取值相關。但是我們總是考慮在最壞的情況下的時間...