def functionX(L):
""" L is a non-empty list of length len(L) = n. """
i= 1
while i< len(L) -1:
j = i-1
while j <= i+ 1:
L[j] = L[j] + L[i]
j = j + 1
i= i+ 1
Для j цикла почему у нас есть 3 итерации с 3 шагами вместо i итераций? Мне трудно понять это.Как рассчитать сложность худшего случая для функции?
3 итерации во внутреннем цикле, поскольку вы устанавливаете 'j' в' i-1' и зацикливаете до тех пор, пока не будет 'i + 1'. В худшем случае (и средний случай и каждый случай) сложность O (n). – L3viathan
@en_Knight, потому что 'j' не зависит от' i' – Ian
@ Правильно. Возможно, я неправильно понял ваш предыдущий комментарий, я думал, что вы предполагаете, что это O (n^2) –