次の関数の複雑さを計算しようとしています:
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)ではないことに気づきましたが、毎回半分になるため、計算方法がわかりません。誰にもアイデアはありますか?