确定特定函数的最坏情况(O(N))的渐近复杂度

时间:2016-07-22 09:10:23

标签: c++ asymptotic-complexity

我想确定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);

1 个答案:

答案 0 :(得分:2)

首先,我假设代码中的i^2表示&#34; i提升为2&#34;而不是&#34; {{1} } bitwise-XOR 2&#34;,因为后者与C ++语法一致,但会产生不可预测的结果。

时间复杂度由总和

给出

![enter image description here

我们需要使用此网页中的信息评估自然数之和为2的幂:http://www.trans4mind.com/personal_development/mathematics/series/sumGeneralPowersNaturalNumbers.htm

enter image description here

所以时间复杂度是

enter image description here