当前位置:   article > 正文

时间复杂度的计算_三层循环时间复杂度

三层循环时间复杂度

时间复杂度的计算分为三种:

1.单层循环

2.双层循环

3.多重循环

首先讲解单层循环:

总体思路:第一步:找i与t的表达式,第二步:找i的停止条件,第三步:求复杂度。

例题1:

  1. for(int i=0;i<n;i=i+2)
  2. {
  3. }

显然:i=2*t;

i=n停止;所以:2*t=n;t=n/2;时间复杂度为O(n);

例题2:

  1. for(int i=0;i<n;i=i*2)
  2. {
  3. }

显然:i=2的t次幂;i=n;故t=log2n;时间复杂度为log2n;

接着双重循环:

思路:可以运用求面积的思想,外层循环为长,内层循环为宽。

例题;

  1. for(int i=0;i<n;i++){
  2. for(int j=0;j<i;j++)
  3. }

时间复杂度为O(n的平方)

三重循环:

思路:分为两种;

第一种:求体积,(锥体)

x,y,z分别为三个变量的i,j,q,运用体积公式即可求得。

第二种:由内到外逐层计算

 

附:计算的三条原则:

1.如果运行时间是常量级,用常数表示O(1)

2.只保留时间函数中的最高阶项

3.如果最高阶项存在,则省去最高阶项前面的系数。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/529964
推荐阅读
相关标签
  

闽ICP备14008679号