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