本文主要是介绍算法基本功之一:弄清时间复杂度,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
首先时间复杂度定义:
在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,进而分析T(n)随n的变化情况并且确定T(n)的数量级。算法的时间复杂度,也就是算法的时间量度,
记作 T(n) = 0(f(n))。
它表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称作算法的渐进时间复杂度,简称为时间复杂度,其中f(n)是问题规模n的某个函数;
说人话:
衡量一个算法复杂程度的式子,相同环境条件下,肯定越简单速度越快;那我们追求的就是把时间复杂度高的优化成时间复杂度低的;
计算时间复杂度:
算出以下式子的时间复杂度:
f(n) = n^2
f(n) = n^2 +2
f(n) = 2n^2 +2
f(n) = 3n^3 +2
计算原则:
1.算法函数中的常数可以忽略 比如1.后面的 +2
2.算法函数中最高次幂的常数因子可以忽略,比如序号3:n^2前面的2和序号4:前面的3
3.算法函数中最高次幂越小,算法效率越高,字母n后面的 ^2
这篇关于算法基本功之一:弄清时间复杂度的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!