for (int i = n - 1; i != 0; i /= 2) ++k;
我无法理解如何计算上述时间复杂度。当 n 为负时,我无法弄清楚它的行为。谁能帮我到那里。当 n 为正时,我尝试过。
Statement Code Time
1a i=n-1 1
1b i != 0 log2n+1
1c i = i/2 log2n
2 ++k log 2n
Total running time 3 log 2n+2
当我分析 n 为正的代码时,我得到了这些值。但是当 n 为负时我没有得到