特定功能的大哦和theta符号......运行时间

时间:2016-09-27 15:09:39

标签: performance big-o big-theta

如果评估f(n)是theta(n)

i = 1;
sum = 0;
while (i <= n)
       do if (f(i) > k)
            then sum += f(i);
          i = 2*i;

由于n次函数可能被调用或者是O(n),它的运行时间是否为O(n ^ 3)?或者它是关于theta的东西,因为那是我们所知道的信息?我很失落......

1 个答案:

答案 0 :(得分:1)

i 变量每次加倍=&gt;将在 Log2(n)时间内达到 n 。 f的评估将完成Log2(n)次=>函数时间复杂度为 O(N x LogN)

事实上,如果计算f(i)具有复杂度O(i),则时间复杂度为:

awk -F, 'NR==1||/Example/{print $4 FS $6}' "$fixed_file" > "$outputpath/Example.csv"