0

Ich habe 2 Funktionen, C (n) und A (n)Kann nicht Wachstumsrate um

enter image description here

Ich weiß nicht, warum definieren A (n) ist langsamer als C (n) da höhere Wachstumsrate bedeutet langsamere Laufzeit.

Aus meiner Sicht haben beide Wurzel im Zähler. Jedoch wird A (n) durch logn geteilt, was bedeutet, dass es kleiner als root n sein sollte. Daher wird das ganze A (n) schneller als C (n), da C (n) immer noch die Wurzel n hat (obwohl es n^1/3 ist, aber immer noch die Wurzel hat) und nicht durch irgendetwas geteilt ist.

Gibt es eine sehr einfache Möglichkeit, die Wachstumsrate zu definieren?

Vielen Dank, wenn Sie erklären können, warum A (n) langsamer ist als C (n).

+1

* "Ich weiß nicht, warum A (n) langsamer ist als C (n), weil höhere Wachstumsrate bedeutet langsamere Laufzeit." * - Nicht unbedingt. Angenommen, die Komplexität von A (n) ist 1000000 * n und die Komplexität von B (n) ist n^3. A (n) ist begrenzt, aber es hat eine sehr große Konstante. [B (n) übertrifft A (n) für n <1000] (https://www.symbolab.com/solver/equation-calculator/1000000n%20%3C%3D%20n%5E%7B3%7D). Wenn Sie etwas über Ihr Dataset wissen, können Sie einen asymptotisch langsameren Algorithmus auswählen und trotzdem in einigen Fällen eine bessere Leistung erzielen. – jww

+0

Ich stimme für das Schließen dieser Frage als Off-Topic ab, da das zugrunde liegende Problem [Math.se] ist. – Dukeling

+0

Oder vielleicht ist es nur ein Duplikat von [Was ist eine einfache englische Erklärung der "Big O" Notation?] (Https://stackoverflow.com/questions/487258/what-is-a-plain-english-explanation-of- Big-O-Notation) (Big O? Big Theta? Nah genug). Oder es ist wahrscheinlich eine Kombination aus Off-Topic und Duplikat. – Dukeling

Antwort

0

Sowohl C(n) als auch A(n) haben Wurzeln im Zähler, aber sie sind unterschiedliche Wurzeln. In C(n) ist es eine Kubikwurzel und in A(n) ist es eine Quadratwurzel. Eine weitere Möglichkeit, sie zu schreiben wäre:

C(n) = Θ(n^(1/3)) 

und

A(n) = Θ(n^(1/2)/some-log-term) 

Nun ist es klar, dass 1/3 < 1/2 und deshalb mit n groß genug n^(1/3) ist viel weniger als n^(1/2) (und n^(1/2)/some-log-term auch). Tatsächlich ist A(n) beliebig größer, was bedeutet C(n) << A(n)

Verwandte Themen