Warum ist

8

3n=2O(n) ist anscheinend wahr. Ich dachte, dass es falsch ist, weil schneller wächst als jede Exponentialfunktion mit einer Basis von 2.3n

Wie ist wahr?3n=2O(n)

David Faux
quelle
1
Vorsicht vor dem Missbrauch der Notation!
Raphael
Wirklich kann ich nicht verstehen, was bedeutet? zuerst habe ich es in 3 n2 O ( n ) geändert , danach habe ich wieder gesehen, dass dies bedeutungslos ist. IMO-Frage ist bedeutungslos. 3n=2O(n)3n2O(n)
1
Es ist sehr üblich, für das zu schreiben, was im strengsten Sinne f ( x ) O ( g ( x ) ) sein sollte . So häufig, dass es kaum als Notationsmissbrauch angesehen wird. f(x)=O(g(x))f(x)O(g(x))
David Richerby

Antworten:

12

Mit etwas Algebra (und Ändern der Konstante in ) können wir tatsächlich die Basen ändern.O(n)

3n=(2log23)n=2nlog23

Da eine Konstante ist, ist n log 2 3 = O ( n ) . Also 3 n = 2 O ( n ) .log23nlog23=O(n)3n=2O(n)

Ich bin mir nicht sicher, was Sie unter " wächst schneller als jede Exponentialfunktion mit einer Basis von 2" verstehen. 2 n = o ( 3 n ) natürlich, aber es scheint, dass Sie etwas allgemeineres meinen. Ich vermute, dass Ihre Aussage für etwas wie O ( 3 n ) gilt , bei dem Sie die Basis mit einer Konstanten multiplizieren, im Gegensatz zu 2 O ( n ), bei dem Sie die Zahl im Exponenten mit einer Konstanten multiplizieren.3n2n=o(3n)O(3n)2O(n)

SamM
quelle
8

wächst schneller als jede Exponentialfunktion mit einer Basis von 2 .3n2

Wahr. Dies impliziert, dass nicht wahr sein kann. Aber was Sie hier haben, ist 2 O ( n ) .3n=O(2n)2O(n)

Denken Sie daran, dass wirklich eine Menge von Funktionen ist, und genau genommen sollten wir 3 n2 O ( n ) (oder sogar ( n 3 n ) 2 O ( n n ) ) schreiben . Die rechte Seite ist nicht das Exponential einer Funktion, sondern das Exponential einer Reihe von Funktionen. Erweiterung der Definition von big oh:O(f(n))3n2O(n)(n3n)2O(nn)

2O(n)=2{fN,p,nN,f(n)pn}={(n2f(n))N,p,nN,f(n)pn}

Da die Exponentialfunktion zunimmt, können wir die Ungleichung aus dem Exponential herausheben :n2n

2O(n)={gN,p,nN,g(n)2pn}

Contrast mit

O(2n)={gN,k,nN,g(n)k2n}

2O(n)O(2n)2pn=2p2nn03n2log232nN=0p=log233n2O(n)

Gilles 'SO - hör auf böse zu sein'
quelle
4

3n=2O(n)O(n)

3n<2knlog2

nlog2(3n)<knlog2(2)

k>log2(3)

2kn3nk>log2(3)

Bartosz Przybylski
quelle