我要求給了一些代碼段一大O估計,但我有故障與大O估算
int sum = 0;
for (int i = 0; i < n; i = i + 2) {
for (int j = 0; j < 10; j + +)
sum = sum + i + j;
我想的有點麻煩的是,最壞的情況會爲O(n/2),因爲外循環是從i到數組長度n。不過,我不知道,如果內環影響大O.
int sum = 0;
for (int i = n; i > n/2; i − −) {
for (int j = 0; j < n; j + +)
sum = sum + i + j;
對於這一塊,我想這將是爲O(n^2/2),因爲內循環是從j到n和外循環是從n到n/2這給我n *(n/2)
int sum = 0;
for (int i = n; i > n − 2; i − −) {
for (int j = 0; j < n; j+ = 5)
sum = sum + i + j;
我很迷茫在這一個。我的猜測是O(n^2-2/5)
對於最後一個,外循環只運行兩次。爲什麼會是O(n^2)? –