时间复杂度的计算
1.什么是时间频度?
时间频度是指算法中最基本的语句执行的次数叫做时间频度;
2.什么是时间复杂度?
时间复杂度是指当需要处理数据的规模发生变化的时候,计算机计算次数的变化趋势叫做时间复杂度;(而且,我么你需要知道时间复杂度越低越好)
那具体是什么意思呢?当时间复杂度为o(n)的时候(n代表需要处理的数据量),说明,计算机需要处理n次,随着n的增长,(语句的执行次数)呈线性增长;
当时间为o(1)时,代表无论需要处理的数据量的多少,计算机的计算次数只有一次,此时为理想的时间复杂度,是所有人梦寐以求的算法;
当时间复杂度为o(n^2)的时候,我们会发现,随着n(处理数据量)的增加,n^2是呈指数式增长的,说明语句的执行次数呈指数增长,众所周知,指数式增长是很快的,所以n越大,o(n^2)的算法的时间频度越高,o(n)相较于o(n^2)就比较好,比如当n为1000时,o(n)=1000,o(n^2)=1000000,由于时间复杂度小的算法好,由此可知,o(n)的算法比o(n^2)的算法要好;
3.时间复杂度如何计算?
时间复杂度 = 时间频度(去掉低阶的项和常数项,以及最高次项的系数)
例如 时间频度 f(n)= 2n^2+2 则时间复杂度为O(n^2)
或 时间频度 f(n)= n^3 + 2n^2 + 3则时间复杂度为O(n^3)