Теорема из CLRS:
![Master theorem](https://i.stack.imgur.com/ferc5.png)
В вашем случае 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
.Таким образом, сложность согласно теореме должна быть ![bigtheta(n!)](https://i.stack.imgur.com/mwP0Z.png)