我一直在尝试计算以下函数的复杂性:
k=n;
while(k>0)
g(n);
k=k/2; {Comment: this is integer division, so 1/2=0}
end while;
for(j=0;j<m;j++)
f(m);
具体来说,while 循环的复杂性。有人告诉我 g(n) 的复杂性是 O(n),但我不确定它的复杂性是多少,以及我将如何解决它。我已经意识到复杂度不会是 O(0.5n^2),但我不确定如何计算它,因为每次减半。有人有想法么?