これらすべてについて、実行時間を調べなければなりません。
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番目のものと本当に混乱しています。
答えはビッグオーまたはビッグシータで表すことができます。