常見的時間複雜度
執行次數 | 函式階 | 非正式術語 |
---|---|---|
12 | O(1) | 常數階 |
2n+3 | O(n) | 線性階 |
3n^2+2n+1 | O(n2) | 平方階 |
5log2n+20 | O(logn) | 對數階 |
2n+3nlog2n+19 | O(nlogn) | nlogn階 |
6n^3+2n^2+3n+4 | O(n3) | 立方階 |
2^n | O(2n) | 指數階 |
常用的時間複雜度所耗費的時間從小到大依次是
O(1)<O(logn)<O(n)<O(nlogn)<O(n2)<O(n3)<O(2n)<O(n!)<O(nn)
複製程式碼
最壞情況與平均情況
對演算法的分析,一種方法是計算所有情況的平均值,這種時間複雜度的計算方法稱為平均時間複雜度。另一種方法是計算最壞情況下的時間複雜度,這種方法稱為最壞時間複雜度。一般在沒有特殊說明的情況下,都是指最壞時間複雜度。
空間複雜度
計算公式記作:S(n)=O(f(n)),其中,n為問題的規模,f(n)為語句關於n所佔儲存空間的函式。
歡迎掃描下方二維碼,持續關注:
網際網路工程師(id:phpstcn),我們一起學習,一起進步