作者 | OverRedMaple
责编 | Carol
来源 | CSDN 博客
封图 | CSDN付费下载于东方 IC
如果你还在发愁究竟怎么计算时间复杂度和空间复杂度,那你是来对地方了!
名词解释:
在计算机科学中,时间复杂性,又称时间复杂度,算法的时间复杂度是一个函数,它定性描述该算法的运行时间。这是一个代表算法输入值的字符串的长度的函数。时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数。使用这种方式时,时间复杂度可被称为是渐近的,亦即考察输入值大小趋近无穷时的情况。
时间复杂度的表示方法
其实就是算法(代码)的执行效率,算法代码的执行时间。我们来看下面一个简单的代码:
int sumFunc(int n) {
int num = 0; // 执行一次
for (int i = 1; i <= n; ++i) { // 执行n次
num = num + i; // 执行n次
}
return num;
}
假设,每行代码的执行时间为t,那么这块代码的时间就是(2n+2)*t
由此得出:代码执行时间T(n)与代码的执行次数是成正比的!
那么我们来看下一个例子:
int sumFunc(int n) {
int num = 0; // 执行一次
for (int i = 1; i <= n; ++i) { // 执行n次
for (int j = 1; j <= n; ++j) { //执行n*n次
num = num + i *