Вычислительная сложность интерпретируется исходя из размера ввода. Следовательно, если f(n) = O(n!)
, когда ваш ввод n
, то f(k) = O(k!)
, когда ваш ввод k
.
Следовательно, вам не нужно вычислять сложность для каждого значения ввода для функции f(n)
. Например, f(2) = O(2!)
, вам не нужно вычислять сложность f(10)
лайков O((5*2)!)
как 10 = 5 * 2
и пытаться упростить ее на основе значения 2!
. Мы можем сказать f(10) = O(10!)
.
Во всяком случае, если вы хотите вычислить (n*(n-1))! = (n^2 - n)!(n^2 - n + 1)...(n^2 - n + n) /(n^2 - n + 1)...(n^2 - n + n) = (n^2)!/\theta(n^3) = O((n^2)!/n^(2.9))