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