Я решал вопросы о сложности пространства, и когда мы говорим о сложности пространства, мы не учитываем пространство, используемое входными данными. Но здесь, в коде ниже, который я видел на веб-сайте, разве это не должно быть O ( 1), почему говорят, что это зависит от n ?? Пожалуйста, поясните, что я запутался
int sum(int A[ ], int n)
{
int sum = 0, i;
for(i = 0; i < n; i++)
sum = sum + A[i];
return sum;
}
В приведенном выше фрагменте кода требуется 'n * 2' байта памяти для хранения переменной массива 'a []' 2 байта памяти для целочисленного параметра 'n' 4 байта памяти для локальных целочисленных переменных 'sum' и 'i' (2 байта каждая) 2 байта памяти для возвращаемого значения.
Это означает, что полностью требуется '2n + 8' байтов памяти для завершения его выполнения . Здесь общий объем требуемой памяти зависит от значения «n». По мере увеличения значения «n» требуемое пространство также пропорционально увеличивается. Этот тип космической сложности называется линейной пространственной сложностью.