Все эти три алгоритма просто вычисляют сумму Массива размера 10. Здесь я немного запутался между сложностью времени и тем, что хотел бы выбрать, какой из них быстрее. Можете ли вы помочь мне, чтобы я мог хорошо понять сложность времени.
Al go 1
В алгоритме 1 l oop выполняется 10 раз.
int arr[10] = {1, 2, 3, 4, 5 ,6 ,7, 8, 9, 10};
int sum = 0;
int size = 10;
int i = 0;
for(int i = 0; i < size; i++){
sum += arr[i];
}
cout<<sum;
Al go 2
В алгоритме 2 l oop выполняется в половину от размера массива, но на каждой итерации выполняет двойное число операций. Уменьшение числа итераций сделает алгоритм еще быстрее?
int arr[10] = {1, 2, 3, 4, 5 ,6 ,7, 8, 9, 10};
int sum = 0;
int size = 10;
int i = 0;
for(int i = 0; i < size/2; i++){
sum += arr[i];
sum += arr[size-1-i];
}
cout<<sum;
Al go 3
int arr[10] = {1, 2, 3, 4, 5 ,6 ,7, 8, 9, 10};
int sum = 0;
int size = 10;
int i = 0;
for(i = 0; i < size/2; i++){
sum += arr[i];
}
for(int j = i; j < size; j++){
sum += arr[j];
}
cout<<sum;