#python #loops #time-complexity
#python #циклы #временная сложность
Вопрос:
Случай
n = int(input())
for i in range(0,n):
...
Случай B
n = int(input())
for i in range(0,n):
for j in range(0, n):
...
Случай C
n = int(input())
for i in range(0,n):
...
for j in range(0,n):
....
Мне вдруг стало любопытно узнать о временной сложности цикла.
Я думаю, что A — это O (n), B — O (n ^ 2), а C — O (n). это правильно?
Является ли использование оператора if в операторе for и использование оператора for в той же строке в случае C фатальным для памяти?
Комментарии:
1. Да, для временной сложности (при условии, что тела цикла с постоянным временем). Последний вопрос не имел смысла.
2. «Фатальный для памяти» как?
Ответ №1:
Вы абсолютно правы в отношении вашего анализа временной сложности каждого случая (при условии, что в циклах for выполняются только операции с постоянным временем).
Хотя я не понимаю вашего второго вопроса, вы ссылаетесь на случай C, и я могу сказать, что в случае C. В этом нет ничего «фатального для памяти». Надеюсь, это ответило на ваш вопрос!