2017-04-02 4 views
0

Ist die Notation von NLog (N) die gleiche wie für Log (N^2)? Wenn ja, warum ist das nicht so geschrieben?Große O-Notation - O (nlog (n)) gegen O (log (n^2))

Ist NLog (N) die Standardnotation? Ich fühle mich wie Log (N^2) ist weniger verwirrend zu sehen.

+3

'log (x^2)' 'mathematisch 2 logx' ist, und Sie Konstanten entfernen. 'n log n' ist sicherlich anders. – zerkms

+0

Warum denken Sie, dass die Funktionen gleich sind? Auch wenn Sie sie nicht algebraisch manipulieren können, zeigt das Plotten der Funktionen sofort, dass sie unterschiedlich sind. https://www.wolframalpha.com/input/?i=y%3Dx+log+x,+y%3Dlog(x%5E2),+x%3D1+to+1000 –

Antwort

5
  • O(log(n^2)) ist einfach O(2 log(n)) = O(log(n)). Es ist eine logarithmische Funktion. Sein Wert ist viel kleiner als die lineare Funktion O(n).

  • O(n log(n)) ist eine größere Funktion. Seine Werte sind größer als die lineare Funktion O(n)

Sie sind ganz andere Funktionen (und andere Big-O Komplexität). O(n log(n)) ist viel größer als O(log(n^2))

Dieses Diagramm zeigt den Unterschied: enter image description here

0

Nlog (N) = log (N^N), so dass keine und wie durch zerkms oben log (N^2) = 2log (N)

3

Hinzufügen von Logarithmen ist die gleiche wie die Multiplikation Zahlen darauf hingewiesen, so log (n * n) wird log (n) + log (n) = 2 log (n).

n log (n) ist nahezu linear. Das erste n ist der wichtige Teil, da der Rest eher langsam wächst.

Zum Beispiel Merge Sort hat n log n Zeit Komplexität, denn wenn Sie die Zusammenführung als ein Baum denken, dann ist der Baum Log (n) Ebenen groß, und auf jeder Ebene werden alle n Elemente verarbeitet.

+0

Bedeutet das, dass Nlog (N) = 2log (N)? – Nawlidge

+0

@Nawlidge Nr. Log (N^2) = 2log (N) und O (2log (N)) = O (log (N)). Nlog (N) ist völlig anders. Zum Beispiel log10 (100) = 2, aber 100 * log10 (100) ist 200. – Joonazan

Verwandte Themen