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

2021-07-13 05:09:49 字數 967 閱讀 9464

演算法

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

−10o(

n)逆序(n

+2)(

n−1)

2 (n

+4)(

n−1)

2 o(

n2) 穩定o(

1)希爾排序正序-

0o(n

1.3)

--o(n

1.3)

不穩定o(

1)堆排序--o

(nlo

gn) ---

o(nl

ogn)

不穩定o(

1)歸併排序--

o(nl

ogn)

---o(nl

ogn)

穩定o(

n)快速排序--

o(nl

ogn)

有序n(

n−1)

2 n-1次遞迴呼叫o(

n2) 不穩定o(

logn

)\~o(

n)插入排序,氣泡排序和快速排序的排序趟數與序列的初始狀態有關

堆排序和選擇排序的排序次數與初始狀態無關,即最好情況和最壞情況都一樣

排序演算法 時間複雜度和空間複雜度

常數階o 1 無論 執行了多少行,只要沒有迴圈複雜結構,那麼這個的時間複雜度就是o 1 o 1 時間複雜度 沒有迴圈結構的順序執行,無論執行多少行,時間複雜度均為o 1 public static voido1 對數階o log2n o log2n 時間複雜度 此處 i 以二倍的速度增長,也就是說到...

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

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...

排序演算法空間 時間複雜度

排序演算法空間 時間複雜度 簡單排序法 冒泡法是第二維迴圈中自己迴圈,找最小或最大值 選擇排序和交換排序是第二維迴圈與第一維迴圈中的值比較 交換法最清晰,選擇法作了改進,只交換位置標號,演算法複雜度沒變。插入法,它的基本工作原理是抽出牌,在前面的牌中尋找相應的位置插入,然後繼續下一張 較為複雜 高階...