我只是解决了一个问题,但我没有解决方案,所以我很恳请您确认我的解决方案是否正确
int h=1; int cont = 0;
for (j = 2^N; j>1; j = j/2) {
h = h * 2;
for (i =1; i < j; i = i*2)
for (k=2; k<h; k++)
cont ++;
}
我必须在BIGTHETA中找到该部分代码的复杂性。
所以,我分析第三个周期以这种方式成长
k - &gt;线性直到= h(h长大如2 ^ w) - 所以复杂性是log n。
关于第二个,第一个周期&#39; limit是0所以我认为复杂性是log n。
关于前2 ^ N = 2 ^ N-1因此复杂度为n
总复杂度为n * log n
答案 0 :(得分:1)
您可以使用Sigma表示法一步一步地正式着手(我跳过了一些步骤,但如果有必要,可以随时询问更多详细信息):