算法復(fù)雜度基礎(chǔ)
算法復(fù)雜度是用來描述算法的執(zhí)行的增長率與執(zhí)行時間奕筐,本質(zhì)上是數(shù)學(xué)中的極限竞端,當(dāng)f(n)中的n趨于無窮大時被因,只有高階因子對函數(shù)有影響
基本規(guī)則
- 常數(shù)c
O(c)=O(1)
無論這個函數(shù)處理多大的數(shù)據(jù)蝗蛙,消耗的時間是固定的择卦。 - 乘法忽略常量因子
當(dāng)執(zhí)行時間為變量T時敲长,常量可以忽略
O(cT)=cO(T)=O(T) - 加法取最大
當(dāng)算法的執(zhí)行時間由多個任務(wù)組成時,取最耗時的任務(wù)
O(T1)+O(T2)=O(T1+T2)=MAX(O(T1),O(T2)) - 多變量乘法
一般為多重循環(huán)互捌,需要把循環(huán)次數(shù)相乘
O(T1)O(T2)=O(T1T2)