int result = 0;
int i = 0;
while (i < n/2){
result += arr[i];
i += 1;
while (i >= n/2 && i < n){
result += arr[i];
i += 1;
}
}
printf("%d\n", result);
なお、第1のループは1/2実行されるまで、第2のループが実行されないので、O(N)回実行されるように思えます* n回。しかし、最初のループはO(n)回実行し、2回目はO(n)回実行してO(n^2)と言うこともできます。今私は混乱していますが、どちらが正しいですか?は、私は1つが正しいこのビッグO記法計算の2つの答えを見つけた
これはO(n)のコードが0からnまでの1つのループに等しい –