猴子睡覺前之一 時間複雜度的理解

2021-06-26 07:37:21 字數 424 閱讀 7068

1.首先,演算法為什麼可以被優化,因為問題當中往往隱含著很多隱藏的條件,把這些條件理解了就可以縮小問題的處理範圍。

2.假設賦值,返回,加減乘除各消耗乙個單位的時間,那麼看下面兩個例子:

int sum(a,b)

return a+b;//返回消耗一次,加法消耗一次 一共2次

第乙個例子中,一共消耗了兩個時間單位,可以認為是常量消耗

int sum (a,n)

for(i=0;i

return a;         //消耗1次

這個例子中,一共消耗了2n+1+n+1=3n+2次 隨著n的變大,消耗的是簡單元會越來越大

以上的兩個例子,第乙個例子的時間複雜度是o(1),第二個例子的時間複雜度是o(n);

以此類推,如果有乙個函式消耗的時間單元是n的平方,那麼時間複雜度就是o(n的平方);

一 時間複雜度

一 時間複雜度計算規則 1.基本操作,即只有常數項,其時間複雜度為o 1 比如if,print 與規模n無關 2.順序結構 按加法計算 3.迴圈結構,按乘法計算 4。分支結構,時間複雜度取最大值。二 常見時間複雜度與大小關係 常數項 o 1 12線性項 o n 2n 3平方項 o n 2 4n 3 ...

演算法(一)時間複雜度

演算法很重要,但是一般情況下做移動開發並不經常用到,所以很多同學早就將演算法打了個大禮包送還給了老師了,況且很多同學並沒有學習過演算法。這個系列就讓對演算法頭疼的同學能快速的掌握基本的演算法。過年放假階段玩了會遊戲nba2k17的生涯模式,沒有比賽的日子也都是訓練,而且這些訓練都是自發的,沒有人逼你...

演算法(一)時間複雜度

1.演算法的效率 雖然計算機能快速的完成運算處理,但實際上,它也需要根據輸入資料的大小和演算法效率來消耗一定的處理器資源。要想編寫出能高效執行的程式,我們就需要考慮到演算法的效率。演算法的效率主要由以下兩個複雜度來評估 時間複雜度 評估執行程式所需的時間。可以估算出程式對處理器的使用程度。空間複雜度...