基本排序演算法的時間複雜度分析

2021-08-18 07:28:58 字數 630 閱讀 4197

1、插入排序

最佳情況:o(n)

最差情況:o(nlgn)

平均情況:o(nlgn)

2、選擇排序

在所有情況下的時間複雜度均為o(n*n)

3、氣泡排序

最佳情況:o(n)

最差情況:o(n*n)

平均情況:o(n*n)

4、歸併排序

所有情況下的時間複雜度均為o(nlgn)

5、快速排序

最佳情況:o(nlgn)

最差情況:o(n*n)

平均情況:o(nlgn)

6、堆排序

所有情況下的時間複雜度均為o(nlgn)

注:

(a) 比較排序

比較排序:在排序的最終結果中,各元素的次序依賴於它們之間的比較。前面6種演算法都是比較排序演算法。

(b) 排序演算法的下界

在最壞情況下,任何比較排序演算法都需要做歐公尺茄(nlgn)次比較。

(c) 堆排序和歸併排序都是漸進最優的比較排序演算法。

基本排序演算法時間複雜度

演算法 best b比較次數 b移動次數 b時間複雜度 worst w比較次數 w移動次數 w時間複雜度 穩定性空間輔助 氣泡排序正序n 10o n 逆序n n 1 2 n n 1 2 o n2 穩定o 1 簡單選擇排序正序n n 1 20o n2 逆序n n 1 2 n 1o n2 不穩定o 1 ...

演算法時間複雜度分析

定義 如果乙個問題的規模是n,解這一問題的某一演算法所需要的時間為t n 它是n的某一函式 t n 稱為這一演算法的 時間複雜性 求解演算法的時間複雜度的具體步驟是 1 找出演算法中的基本語句 演算法中執行次數最多的那條語句就是基本語句,通常是最內層迴圈的迴圈體。2 計算基本語句的執行次數的數量級 ...

演算法分析時間複雜度

對乙個演算法的分析,很多時候我們更關心演算法執行的時間複雜度。演算法的時間複雜度中,我們關心演算法執行的時間上界。即大o階分析方法。時間複雜度的分類 1 沒有迴圈遞迴的基本都是常數階。2 有一層迴圈的就是線性階。for int i 0 i dosth 3 對數階 一般類似如下 while i i i...