Je dois montrer que log ( n ! Θ ( n · log ( n ))) ==.
Un indice a été donné que je devrais montrer la limite supérieure avec n n et affiche la borne inférieure avec ( n /2)( n /2). Cela ne me semble pas si intuitif. Pourquoi serait-ce le cas? Je peux certainement voir comment convertir n n à n · log ( n ) (c'est-à-dire, consignez les deux côtés d'une équation), mais c'est un peu en arrière.
Quelle serait la bonne approche pour s'attaquer à ce problème? Dois-je dessiner l'arbre de récurrence? Il n'y a rien de récursif à ce sujet, donc cela ne semble pas être une approche probable.
Rappelez-vous que
log(n!) = log(1) + log(2) + ... + log(n-1) + log(n)
Vous pouvez obtenir la limite supérieure en
log(1) + log(2) + ... + log(n) <= log(n) + log(n) + ... + log(n)
= n*log(n)
Et vous pouvez obtenir la limite inférieure en faisant la même chose après avoir jeté la première moitié de la somme:
log(1) + ... + log(n/2) + ... + log(n) >= log(n/2) + ... + log(n)
= log(n/2) + log(n/2+1) + ... + log(n-1) + log(n)
>= log(n/2) + ... + log(n/2)
= n/2 * log(n/2)
Je me rends compte que c’est une très vieille question avec une réponse acceptée, mais aucune de ces réponses n’utilise réellement l’approche suggérée par la suggestion.
C'est un argument assez simple:
n!
(= 1 * 2 * 3 * ... * n) est un produit de n
nombres inférieurs ou égaux à n
. Par conséquent, il est inférieur au produit de n
nombres tous égaux à n
; c'est-à-dire n^n
.
La moitié des nombres - c.-à-d. n/2
, - dans le produit n!
sont supérieurs ou égaux à n/2
. Par conséquent, leur produit est supérieur au produit de n/2
nombres tous égaux à n/2
; c'est-à-dire (n/2)^(n/2)
.
Prenez des journaux tout au long pour établir le résultat.
Voir approximation de Stirling :
ln (n!) = n * ln (n) - n + O (ln (n))
où les 2 derniers termes sont moins significatifs que le premier.
Pour la borne inférieure,
lg(n!) = lg(n)+lg(n-1)+...+lg(n/2)+...+lg2+lg1
>= lg(n/2)+lg(n/2)+...+lg(n/2)+ ((n-1)/2) lg 2 (leave last term lg1(=0); replace first n/2 terms as lg(n/2); replace last (n-1)/2 terms as lg2 which will make cancellation easier later)
= n/2 lg(n/2) + (n/2) lg 2 - 1/2 lg 2
= n/2 lg n - (n/2)(lg 2) + n/2 - 1/2
= n/2 lg n - 1/2
lg (n!)> = (1/2) (n lg n - 1)
Combinant les deux bornes:
1/2 (n lg n - 1) <= lg (n!) <= N lg n
En choisissant une constante inférieure supérieure à (1/2), nous pouvons compenser -1 à l'intérieur du support.
Donc lg (n!) = Thêta (n lg n)
Vous aider plus loin, là où Mick Sharpe vous a laissé:
Sa dérivation est assez simple: voir http://en.wikipedia.org/wiki/Logarithm -> Théorie des groupes
log (n!) = log (n * (n-1) * (n-2) * ... * 2 * 1) = log (n) + log (n-1) + ... + log (2 ) + log (1)
Pensez à n comme infiniment grand . Qu'est-ce que l'infini moins un? ou moins deux? etc.
log (inf) + log (inf) + log (inf) + ... = inf * log (inf)
Et puis pensez à inf comme n.
Merci, j'ai trouvé vos réponses convaincantes mais dans mon cas, je dois utiliser les propriétés :
log(n!) = Θ(n·log n) => log(n!) = O(n log n) and log(n!) = Ω(n log n)
pour vérifier le problème, j'ai trouvé ce site Web sur lequel tout le processus est expliqué: http://www.mcs.sdsmt.edu/ecorwin/cs372/handouts/theta_n_factorial.htm
Cela pourrait aider:
eln (x) = x
et
(lm)n = lm * n
http://en.wikipedia.org/wiki/Stirling%27s_approximation Une approximation de Stirling pourrait vous aider. C'est vraiment utile pour traiter les problèmes relatifs aux factorielles liées à des nombres énormes de l'ordre de 10 ^ 10 et plus.