我正在研究一个问题,在每次迭代中,a都会被k的值递减在每次迭代中k也加倍。例如:A=30->29-->27-->23-->15-->0增量=1-->2-->4-->8-->16如何评估算法的时间复杂度?我想这一定与O(logN)有关,因为delta加倍了,但不知道如何直观/数学地得出结论。 最佳答案 n个减量的总大小是2^n-1(通过归纳证明),因此从a开始,需要ceil(log2(a+1))的减量达到0。