执行时间和大O.

0 java algorithm big-o analysis execution

(在任何人说什么之前是的,这是家庭作业,但我已经把它打开并且已经把它拿回来了,我只是想明白这个用于测试.)

问题是计算代码片段的执行时间和大O. 我可以计算出大的O,但我不知道如何确定执行时间.好吧基本上我不明白的是如何计算执行时间

for(i=0; i < n; i++){
    SomeJavaStatment;
    for(j=0; j < 2 * n; J+= 2){ 
        SomeJavaStatment;
        SomeJavaStatment;
}
}
Run Code Online (Sandbox Code Playgroud)

正确答案是Big O(n ^ 2)我说得对,但我不知道执行时间是什么,正确的答案是4n ^ 2 + 5n + 2.

如果有人能解释我将如何得到答案,我将不胜感激.

Jar*_*łka 7

我不认为,执行时间应该确定,但是:

 //assignment to i takes 1 operation    
 for(i=0; i < n; i++){ // i++ is executed n times, i < n is executed (n+1) times
    SomeJavaStatment; // n times

    //assignment to j takes 1 operation
    for(j=0; j < 2 * n; j+= 2){  // j+=2 is executed n*n times, j < 2*n is executed n*(n+1) times
        SomeJavaStatment; // n * n times
        SomeJavaStatment; // n * n times
    }
 }
Run Code Online (Sandbox Code Playgroud)

总共给出1 + n +(n + 1)+ n + n +(n*n)+(n + 1)*n +(n*n)+(n*n)= 4 * n^2 + 5*n + 2:)