-1

これらすべてについて、実行時間を調べなければなりません。

1.

for ( int i = 0; i < n; i+=2 )
    sum++;

2.

for ( int i = 1; i < n; i*=2 )
    sum++

3.

for ( int i = 0; i < n; i++ )
    for ( int j = 0; j < n; j++ )
        sum++;

4.

for ( int i = 0; i < n; i++ )
    sum++
for ( int j = 0; j < n; j++ )
    sum++
// The above are two loops one after the other, NOT nested

5.

for ( int i = 0; i < 2*n; i++ )
    sum++

6.

for ( int i = 0; i < n*n; i++ )
    sum++;

7。

for ( int i = 0; i < n; i++ )
    for ( int j = 0; j < n*n; j++ )
        sum++;

8.

for ( int i = 0; i < n; i++ )
    for ( int j = 0; j < 10000; j++ )
        sum++;

最初のものは O(n) で、4 番目のものは O(n^2) です。これらは正しいですか?そして、他の人はどうすればいいですか?私は2番目のものと本当に混乱しています。

答えはビッグオーまたはビッグシータで表すことができます。

4

2 に答える 2