常见的时间复杂度量级有:
常数阶O(1)
对数阶O(logN)
线性阶O(n)
线性对数阶O(nlogN)
平方阶O(n²)
立方阶O(n³)
K次方阶O(n^k)
指数阶(2^n)
如何计算时间复杂度
T(n) = O(n)
T(n)表示最细的代码块数
与n的关系的函数,忽略细节抓住主要因素
常数阶O(1)
int i = 1;
int j = 2;
++i;
j++;
int m = i + j;
线性阶O(n)
for(i=1; i<=n; ++i)
{
j = i;
j++;
}
对数阶O(logN)
int i = 1;
while(i<n)
{
i = i * 2;
}