我有一个程序,正在尝试计算它的复杂度。我想确保自己没有犯错。
for(int i=4; i<=n; i=i*4)
{
cout<<"counter for first loop: "<<++count1<<endl;
for(int j=i;j>=0;j=j-4)
{
cout<<"counter for second loop: "<<++count2<<endl;
for(int k=0;k<=n;k++)
{
cout<<"counter for third loop: "<<++count3<<endl;
}
}
}
这里,第三个循环的复杂度是O(n),加上第二个循环,整个复杂度变成了O(n.log4i),整个程序的复杂度为O(n.(log4i)2)。我的回答正确吗?谢谢。