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