算法复杂度
文章目录

算法复杂度分析

线性阶

1
2
3
4
5
6
7
int i; 

for(i = 0; i < n; i++){

/*时间复杂度为 O(1)的程序步骤序列*/

}

即使这里进行了3次 命令, 我们依然写成复杂度 $$O(1)$$

对数阶# AboutMe: 算法复杂度分析

线性阶

1
2
3
4
5
6
7
int i; 

for(i = 0; i < n; i++){

/*时间复杂度为 O(1)的程序步骤序列*/

}

即使这里进行了3次命令,我们依然写成复杂度 $$O(1)$$

对数阶

1
2
3
4
5
int count = 1
while (count < n){
count = count * 2;
  /*时间复杂度为 O(1)的程序步骤序列*/
}

因此

$$n=2^x$$

得到复杂度

$$O(log_{2}n)$$

平方阶

1
2
3
4
5
6
int i, j; 
for(i = 0; i < n; i++){
  for(j = 0; j < n; j++){
/*时间复杂度为 O(1)的程序步骤序列*/
  }
}

没啥好说的,复杂度 $$O(n^2)$$