Путать с ответом о наилучшем / худшем времени для функции Python
Это небольшая проблема из курса edx Введение в информатику и программирование с использованием Python.
def program1(x):
total = 0
for i in range(1000):
total += i
while x > 0:
x -= 1
total += x
return total
Вопрос: Какое количество шагов потребуется для запуска Программы 1 в лучшем случае? Выразите свой ответ через n, размер ввода x
Ответ : Лучший случай: 3003 и худший случай: 5n + 3003
Я запутался с ответом 3003, потому что, по моему мнению, лучшим решением проблемы было бы, если x = -1 и другие операторы выполняются, которые имеют постоянное количество времени .hence оператор
total =0 // takes a constant amount of time 1
for i in range(1000):
total += i // takes 1000*1 amount of time
return total // takes constant of time 1
Следовательно, ответ должен быть 1000 + 2 = 1002
Любая помощь с правильными объяснениями будет высоко оценена.