目录
1.2.2算法的时间复杂度
#include <stdio.h>
void loveYou(int n)
{
int i=1;
while(i<=n)
{
i++; // 当运行3001次的时候跳回while判断,然后跳出循环
printf("I love you %d\n",i);
}
printf("I love you more than %d\n",n);
}
int main()
{
loveYou(3000);
return 0;
}
答案:
I love you 2996
I love you 2997
I love you 2998
I love you 2999
I love you 3000
I love you 3001
I love you more than 3000
一.时间复杂度
1.O
大O表示“同阶”,同等数量级。即:当n->无穷时,二者之比为常数。
T1(n)=O(n) 把常数化掉,套上大O,保留数量级最高的n
2.嵌套循环执行次数与n的关系
如果有多层嵌套循环,只需关注最深层循环了几次
3.练习
例1
例2 很多算法执行时间与输入的数据有关
1.2.3算法的空间复杂度
1.函数递归调用带来的内存开销
空间复杂度=递归调用的深度