如果评估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的东西,因为那是我们所知道的信息?我很失落......
答案 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"