如何写这个函数的T(n)?

时间:2015-04-22 21:59:21

标签: java algorithm

我在Python交互式网站上偶然发现了这个问题,我想知道如何在Java中逐步计算这个问题的持续时间,以便我可以显示它的时间效率。

int i = n;
while (i > 0)
{
    int k = 2 + 2;
    i = i / 2;
}

1 个答案:

答案 0 :(得分:3)

假设输入n = i = 2 x

每一步将i除以2:所以i = 2 x 变为2 x-1

重复到0,我。即2 -1 。 (*)

所以步数= x~log 2 n

*实际上,2 -1 = 1/2,但就整数除法而言,它将是2 0 = 1除以2的最后一步,结果为0。