Почему при складывании сложностей, они не складываются?
Взять например функцию f
, со сложностью O(N). Тогда коды
for i in range(5):
f(n)
f(n)
тоже будут иметь сложности O(N) и O(N). Но при этом второй код будет примерно на 400% быстрее в сравнении с первым. Как по мне, весьма впечатляющее ускорение. А может быть и куда больше. Но сложность вообще игнорирует это.
В то же время, код time.sleep(1e+1000000 ** 1e+1000000 ** 1e+1000000)
будет иметь ту же сложность, что и 1 * 1
(то бишь O(1)), но разница во времени выполнения просто огромна.
В чём вообще тогда суть сложности?