我想知道代码的时间复杂度。我该如何计算?
{
int q;
int w;
cout <<"please enter values" <<endl;
cin>>q;
for(w = 0; w<q; w++)
{
int p;
int o;
int sum = 0;
cin>>p;
for(o = 0; o < p; o++)
{
int x;
int y;
int z;
cin>>x ;
cin >>y;
cin>>z;
sum = sum + (x*z);
}
cout<<sum<<endl;
}
_getch();
return 0;
}
答案 0 :(得分:0)
第一个for
循环将运行q
次,时间复杂度为 O(q)。
第二个(内部)for
循环将运行p
次,因此,它的时间复杂度为 O(p),并且每次循环都会调用一次第一个循环,它们的复杂性成倍增加:
O(q)* O(p)= O(q * p)
通常,嵌套循环相乘,连续循环相加。