今天用10分钟的时间,介绍下算法中最基本的一个概念,时间复杂度.
简单来说,就是一个算法,后者一个方法或者函数,执行时需要多长时间....CPU执行每条语句的真正时间忽略为1,
所用时间就是T(n)=1 + N + N = 2 * N + 1
根据时间复杂度的基本规则:去掉常数,保留最高阶
最后结果为T(N)=O(2 * N +...1) = O(N)
也因为上述规则,时间复杂度,也称为渐进的时间复杂度....2个列子的区别在于他执行时会跳过很多数,执行的次数比O(N)少很多,也意味着,这个方法的时间复杂度要优于O(N)的....,显然执行次数,T(0)=T(1)=1,同时 T(n)=T(n - 1)+T(n - 2)+1,最后通过归纳证明,时间复杂度可以简化为O(2^N)
下面是常用的时间复杂度表达式和术语,
阶 对应术语