Теорема из CLRS:
В вашем случае a = 16, b = 4, f(n) = n!
Давайте вычислим .Это будет n^2
Теперь n!
определенно больше, чем и n^2
, поэтому мы будем использовать третий случай теоремы.
Пусть c = 0.5
.Это дает при подстановке 16 * (n / 4)! <= 0.5 * n!
Давайте поместим значение в n
и проверим:
Если n = 100
, 16 * (100 / 4)! <= 0.5 * 100!
, что дает 16 * 25! <= 0.5 * 100!
.Это неравенство является правильным, поскольку 100!
будет намного больше, чем 25!
.Даже умножение на 16
не сделает его больше 0.5 * 100!
.
Это будет верно для других больших значений n
.Таким образом, сложность согласно теореме должна быть