Welche Notation wird verwendet, um die Funktionskoeffizienten in der Big-O-Notation zu diskutieren?
Ich habe zwei Funktionen:
Offensichtlich sind beide Funktionen , tatsächlich , aber das erlaubt keinen weiteren Vergleich. Wie diskutiere ich die Koeffizienten 7 und 3. Das Reduzieren des Koeffizienten auf 3 ändert nichts an der asymptotischen Komplexität, macht aber dennoch einen signifikanten Unterschied für die Laufzeit- / Speichernutzung.Θ ( x 2 )
Ist es falsch zu sagen , dass ist und ist ? Gibt es eine andere Notation, die Koeffizienten berücksichtigt? Oder wie könnte man das am besten diskutieren?O ( 7 × 2 ) g O ( 3 × 2 )
terminology
asymptotics
landau-notation
Raphael
quelle
quelle
Antworten:
Big- und Big- Notationen verbergen die Koeffizienten des führenden Terms. Wenn Sie also zwei Funktionen haben, die beide , können Sie ihre absoluten Werte nicht vergleichen, ohne die Funktionen selbst zu betrachten. Es ist an sich nicht falsch zu sagen, dass , aber es ist nicht informativ, weil auch wahr ist (und,) Tatsächlich ist es für jede positive Konstante ).Θ Θ ( n 2 ) 7 x 2 + 4 x + 2 = Θ ( 7 x 2 ) 7 x 2 + 4 x + 2 = Θ ( 3 x 2 ) Θ ( k x 2 ) kO Θ Θ(n2) 7x2+4x+2=Θ(7x2) 7x2+4x+2=Θ(3x2) Θ(kx2) k
Es gibt andere Notationen, die Sie stattdessen verwenden möchten. Zum Beispiel ist die Notation eine viel stärkere Behauptung als big- :Θ∼ Θ
Zum Beispiel , aber die Behauptung wäre falsch. Sie können sich die Tilde-Notation als Notation , bei der die führenden Koeffizienten erhalten bleiben. Dies scheint das zu sein, wonach Sie suchen, wenn Sie sich für den führenden Koeffizienten des dominanten Wachstumsterms interessieren. 7 x 2 + 4 x + 2 ∼ 3 x 2 Θ7x2+4x+2∼7x2 7x2+4x+2∼3x2 Θ
quelle
Die Tilde ist ein Ansatz. Wenn du bei bleiben willst , könntest du sagenO
quelle