-2

Ich übe Probleme mit der asymptotischen Analyse und ich stehe mit diesem Problem fest.Ist log (n!) = O ((log (n))^2)?

Ist log(n!) = O((log(n))^2)?

Ich bin in der Lage zu zeigen, dass

log(n!) = O(n*log(n)) 
(log 1 + log 2 + .. + log n <= log n + log n + ... + log n) 

und

(log(n))^2 = O(n*log(n)) 
(log n <= n => (log n)^2 <= n*logn) 

ich nicht in der Lage bin weiter zu verfahren ist. Irgendwelche Hinweise oder Intuitionen, wie weiter vorzugehen? Dank

+1

gemacht haben, was zu tun du willst zeigen? Tatsache ist, dass log (n!) nicht in O ist ((log n)^2) – Henry

+3

Diese Frage bezieht sich auf Mathematik und nicht auf einen Programmieralgorithmus – FDavidov

+0

@Henry Dann wie zeige ich das? als das Plotten eines Graphen gibt es einen formelleren Weg, das zu zeigen? –

Antwort

2

accoriding zu Stirling's Approximation:

log(n!) = n*log(n) - n + O(log(n))

für log(n!) gebunden klar obere So gebundenen O(nlogn)

niedriger sein kann als durch Entfernen erste Hälfte der Gleichung berechnet werden:

log(1) + ... + log(n/2) + ... + log(n) = log(n/2) + ... + log(n)
= log(n/2) + ... + log(n/2)
= n/2 * log(n/2)

So Untere Grenze ist auch nlogn. Offensichtlich würde Antwort NO

+0

Aber das war nicht die Frage! –

+1

'Ist log (n!) = O ((log (n))^2)? Antwort ist NEIN @ JanakyMurthy –

+0

@ JanakyMurthy welche art von antwort erwartest du? –

0

sein Ich glaube, ich habe die Antwort auf meine eigene Frage. Wir werden die folgenden Tatsachen beweisen:

1) n*log(n) ist ein eng gebunden für log(n!)

2) n*log(n) ist eine obere Schranke für (log(n))^2

3) n*log(n) ist nicht eine untere Schranke für (log(n))^2

Zum Nachweis von (1) siehe this.

Beweis (2) & (3) ist in der Frage selbst zur Verfügung gestellt. Wachstumsrate von log n< Wachstumsrate von n. So Wachstumsrate von log(n)^2< Wachstumsrate von n*log(n). So log(n)^2 = o(n*log(n)) (Hier habe ich wenig-o zu bezeichnen, dass die Wachstumsrate von n*log(n) strikt größer als Wachstumsrate von log(n)^2

So die Schlussfolgerung verwendet wird, ist, dass log(n!) = big-omega(log(n^2)) mich korrigieren, wenn ich irgendwelche Fehler

+0

Über Beweis 3, in der Verbindung, die von dir gegeben wird, ist Annäherung gleich wie meine für untere Grenze und seine untere Grenze war 'n/2 * log (n/2)' @janaky –

Verwandte Themen