宿題として、次の 8 つのコード フラグメントを与えられ、実行時間を分析して Big-Oh 表記にしました。私が正しい軌道に乗っているかどうか誰か教えてください。
//Fragment 1
for(int i = 0; i < n; i++)
sum++;
フラグメント1のO(N)を考えています
//Fragment 2
for(int i = 0; i < n; i+=2)
sum++;
フラグメント 2 についても O(N)
//Fragment 3
for(int i = 0; i < n; i++)
for( int j = 0; j < n; j++)
sum++;
フラグメント 3 の O(N^2)
//Fragment 4
for(int i = 0; i < n; i+=2)
sum++;
for(int j = 0; j < n; j++)
sum++;
フラグメント 4 の O(N)
//Fragment 5
for(int i = 0; i < n; i++)
for( int j = 0; j < n * n; j++)
sum++;
フラグメント 5 の O(N^2) ですが、n * n は私を少し混乱させているので、よくわかりません
//Fragment 6
for(int i = 0; i < n; i++)
for( int j = 0; j < i; j++)
sum++;
フラグメント 6 についても O(N^2)
//Fragment 7
for(int i = 0; i < n; i++)
for( int j = 0; j < n * n; j++)
for(int k = 0; k < j; k++)
sum++;
フラグメント 7 の O(N^3) ですが、もう一度 n * n が私を失望させています
//Fragment 8
for(int i = 1; i < n; i = i * 2)
sum++;
フラグメント 8 の O(N)