Возможно, вы захотите увидеть, как растут функции.Вот краткий сюжет от Wolfram Alpha:
ссылка
В общем, n^n
растет намного быстрее, чем c^n
для любого n
больше, чем некоторые n_0
(потому что n
будет обгонять c
в некоторый момент, даже если c очень велико).log растет намного медленнее, чем квадратичный или экспоненциальный, и немного быстрее линейного.
Для O(log(n!)) = O(nlogn)
я полагаю, что было нечто, называемое приближением Стирлинга.Это сводится к тому, что O(n!) = O(n^n)
как n! = n*(n-1)*(n-2)*...*2*1
, поэтому n^n = n*n*n*...*n
является верхней границей.Можно доказать, что это также и нижняя граница, но вам это не нужно.
Начиная с log(n^n) = nlogn
по правилам журнала, O(log(n!) = O(log(n^n)) = O(nlogn)
.