Может кто-нибудь объяснить, почему следующая сложность кода вычисляется следующим образом: 1 + 2 + 3 + 4 + ... + (n-2) + (n-1) + n = O (n^2)Квадратичная timecomplexity: почему следующий код рассчитан таким образом?
def CalculateAveragesTotElementOverzicht(inputlist):
resultlist = [0]*len(inputlist)
for i in range(0,len(inputlist)):
som = 0
for j in range(0,i+1):
som += inputlist[j]
average = som/(i+1)
resultlist[i] = average
return resultlist
I wo uld скорее скажет O (n^2), так как 'sum (1 + .. + n) = (n + 1) * n/2' –
Ваш вопрос непонятен, похоже, что эта функция принимает список чисел и выходов список средних значений сумм до каждого индекса. Это то, что он делает, вы могли бы реализовать его по-другому, но почему? – alfasin
'1 + 2 + 3 + 4 + ... + (n-2) + (n-1)' действительно 'O (n)', но код не делает '1 + 2 + 3 + 4 +. .. + (n-2) + (n-1) + n' ... далее, это определенно * не * делает квадратичный ... – alfasin