计算时间复杂度
最近學(xué)習(xí)了計算時間復(fù)雜度,發(fā)現(xiàn)沒有之前想象的那也高深莫測,只要記住三條準(zhǔn)則就可以了。
現(xiàn)總結(jié)如下:
1. 去掉運(yùn)行時間中的所有加法常數(shù)。
2. 只保留最高階項目。
3. 如果最高階項目存在且不是1,去掉魚這個最高階相乘的常數(shù)得到時間復(fù)雜度。
以下面的這個算法作為例子:
for(i=1;i<=n;++i) { for(j=1;j<=n;++j) { c[ i ][ j ]=0; //基本操作 ,執(zhí)行n的平方 次 for(k=1;k<=n;++k) c[ i ][ j ]+=a[ i ][ k ]*b[ k ][ j ]; //基本操作 ,執(zhí)行n的三次方 次 } }1. 算法運(yùn)行次數(shù)n的平方+n的三次方
2. 只保留最高階項目n的三次方。
3. 這里沒有相乘的常數(shù),所以第三步得到n的三次方。
最終時間復(fù)雜度是F(n)=O(n三次方)
?
轉(zhuǎn)載于:https://www.cnblogs.com/clarke157/p/6280204.html
總結(jié)
- 上一篇: python zipfile 文件压缩和
- 下一篇: ELK+logback搭建日志系统