排序演算法的複雜度

2021-08-14 13:34:02 字數 667 閱讀 2404

排序法最壞情況

時間複雜度

穩定性空間複雜度

氣泡排序

o(n2

)o(n2)

穩定o(1)

快速排序

o(n2

)o(n*log2n)

不穩定o(log

2n)~o(n)

選擇排序

o(n2

)o(n2)

穩定o(1)

二叉樹排序

o(n2

)o(n*log2n)

不穩定o(n)

插入排序

o(n2

)o(n2)

穩定o(1)

堆排序o(n*log2n)

o(n*log2n)

不穩定o(1)

希爾排序oo

不穩定o(1)

時間複雜度是同一問題可用不同演算法解決,而乙個演算法的質量優劣將影響到演算法乃至程式的效率。演算法分析的目的在於選擇合適演算法和改進演算法。

空間複雜度(space complexity)是對乙個演算法在執行過程中臨時占用儲存空間大小的量度,記做s(n)=o(f(n))。比如直接插入排序的時間複雜度是o(n^2),空間複雜度是o(1) 。而一般的遞迴演算法就要有o(n)的空間複雜度了,因為每次遞迴都要儲存返回資訊。乙個演算法的優劣主要從演算法的執行時間和所需要占用的儲存空間兩個方面衡量。

排序演算法複雜度

在這篇裡,來記述下排序演算法複雜度,空間 時間 時間複雜度 對排序資料的總的操作次數。反映當n變化時,操作次數呈現什麼規律。空間複雜度 是指演算法在計算機內執行時所需儲存空間的度量,它也是資料規模n的函式。穩定 如果a原本在b前面,而a b,排序之後a仍然在b的前面。不穩定 如果a原本在b的前面,而...

排序演算法複雜度

時間複雜度 基數排序的空間複雜度為o n 排序方法 最好情況 最壞情況 平均情況 穩定性 空間複雜度 氣泡排序 o n o n2 o n2 穩定 快速排序 o nlogn o n2 o nlogn 不穩定 簡單選擇排序 o n2 不穩定 堆排序 o nlogn 不穩定 直接插入排序 o n o n2...

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

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