运行时间计算

时间:2016-04-15 21:21:14

标签: java runtime

我对for循环的运行时计算有疑问。

这是" 2.4.1简单示例"中所示的示例。来自Java中的数据结构和算法分析。作者是Mark Allen Weiss。这是第36页。

书籍说&#34;第2行有隐藏的初始化i,测试i≤N,并递增i的成本。所有这些的总成本是1来初始化,所有测试都是N + 1,所有增量都是N,即2N + 2。&#34;第2行是for( int i = 1; i <= n; i++ )。我想知道为什么代码N + 1用于所有测试i≤N的原因。我觉得它应该是N,因为如果我≤N,它需要N次测试。我一定是错的,但我想知道为什么。

public static int sum( int n )
{
    int partialSum;
    partialSum = 0;
    for( int i = 1; i <= n; i++ )
        partialSum += i * i * i;
    return partialSum;
}

谢谢!

1 个答案:

答案 0 :(得分:1)

你是正确的,循环只运行N次,但记住我增加并检查每个循环。因此,一旦循环运行了N次,就必须再检查一次,看它是否需要再次运行循环。