我想确定THE WORST CASE中渐近复杂度的以下函数:
int j;
float r = 1.0;
for (int i=1; i<(log n); i++){
j = 1;
while (j <= i^2){
r*=2;
j++;
}
print(r);
答案 0 :(得分:2)
首先,我假设代码中的i^2
表示&#34; i
提升为2&#34;而不是&#34; {{1} } bitwise-XOR 2&#34;,因为后者与C ++语法一致,但会产生不可预测的结果。
时间复杂度由总和
给出我们需要使用此网页中的信息评估自然数之和为2的幂:http://www.trans4mind.com/personal_development/mathematics/series/sumGeneralPowersNaturalNumbers.htm。
所以时间复杂度是