声明
所有截图来自于极客大学算法课,本文为个人笔记,未经允许不得转载
时间复杂度和空间复杂度
-
O(1)
- 常数时间复杂度
- 程序执行次数与输入值N无关
-
O(N)
- 线性时间复杂度
- 程序执行次数与输入值N之间是一次函数关系
for (int i=1;i<=n;i++)
{
cout<<i;
}
-
O(N2)
- 可以由线性时间复杂度的语句嵌套得来
for (int i = 1;i<=n;i++) { for (int j = 1;j<=n;j++) { cout<<i<<" "<<j; } } //每个i循环节点下面都有一百个j循环节点 //又因为有100个i循环节点 //所以,共有100^2个循环节点
- 并列关系的数个O(N)时间复杂度循环体组成的程序仍为O(N)时间复杂度
-
O( l o g x ( N ) log_x(N) logx(N))
示例:
for(int i = 1; i<n;i=i*2)
{
cout<<i;
}
以上代码的执行次数为