算法追求:更少的时间和更少的存储。
1.什么是时间复杂度
就是算法的运行时间,假设每行代码执行时间为t,则算法运行时间 = 代码总行数 × t。
以下代码执行的时间 = 1t+m×t+m×t = (1+2m)t
用 \(T(n)\) 表示算法执行时间。
\(f(n)\) 表示所有语句执行次数,则对于上面的代码 \(f(n) = 1+2n\) 。
\[T(n) = f(n)×t = (1+2n)×t \]算法执行时间 \(T(n)\) 和数据规模n相关,\(n\) 趋近于无穷时,\(T(n)\) 有一个增长趋势。
使用大O表示这种增长趋势,大 \(O = O(f(n))\) 可以直接用来表示时间复杂度。
大O表示增长趋势,有如下公式
- \(O(kf(n))=O(f(n))\)
- \(O(f(a))=O(f(b))\)
- \(O(f(n)+g(n))=O(max{O(f(n)),O(g(n))})\)
参考:
标签:表示,复杂度,算法,理解,时间,代码执行,2n From: https://www.cnblogs.com/zhishu/p/16776681.html