-8

我写了一个简单的代码,试图理解 BigOh 符号评估。基于链接:

big-o-how-do-you-calculate-approximate-it

我的代码在这里[这只是随机的,没有具体原因为什么我最终得到了这个代码]:

public class ScratchPad {

    /**
     * @param args
     */
    public static void main(String[] args) {
        int[] data = {1,2,3,4,5,6};
        int result = 0;
        int N = 6; //From 0 through 6
        for (int i =0;i<N;i++)
        {
            result += data[i];
        }

        System.out.println("Final result: "+result);
    }

}

运行此代码段基于实际结果的 N 和 f(N) 序列为:

Values of N:    0, 1, 2, 3, 4,  5,  6
Values of f(N): 0, 1, 3, 6, 10, 15, 21

我的问题:

f(N) 遵循什么公式?2*N^2诸如此类之类的东西N+N*1-1。我尝试了其中的一些,但方程式不成立。

4

1 回答 1

4

f(N) 是所有小于或等于 N 的整数之和。

f(N) = N + f(N-1)
     = N + N-1 + N-2 + ... + 2 + 1
     = N*(N+1) / 2
于 2013-08-01T08:49:35.203 回答