はなぜ


8

3n=2O(n)は明らかに真です。は2を底とする指数関数よりも速く成長するので、それは誤りだと思いました。3n

どのように真?3n=2O(n)


1
表記の乱用に注意してください!
ラファエル

3n=2O(n)意味がわかりません。最初私はそれを変更し3n2O(n) Iは、これは意味が再び見た後、。IMOの質問は無意味です。

1
それはです非常に書き込みに共通の厳密な意味ではどうあるべきかについて、F X O G X 。あまりにも一般的であるため、表記の乱用とは考えられません。f(x)=O(g(x))f(x)O(g(x))
David Richerby 2013

回答:


12

代数を使用して(および定数を変更して)、実際に基底を変更できます。O(n)

3n=(2log23)n=2nlog23

以来、定数であり、nはログ2 3 = O n個の。したがって3 n = 2 O n です。log23nlog23=O(n)3n=2O(n)

は、底が2の指数関数よりも速く成長する」という意味がわかりません。 もちろん2 n = o 3 nですが、もっと一般的なことを意味しているようです。私の推測では、ステートメントはO 3 n)のようなものに適用され、2 O n は指数の数値に定数を乗算するのに対し、基底は定数を乗算します。3n2n=o(3n)O(3n)2O(n)


8

は、底が 2の指数関数よりも速く成長します。3n2

そうだね。これは、は真ではないことを意味します。しかし、ここにあるのは2 O n です。3n=O(2n)2O(n)

リコールその本当に機能の集合であり、厳密に言えば、私たちが書いされなければならない3をN2 O N (あるいはnは3 N2 O nはN )。右側は関数の指数ではなく、一連の関数の指数です。ビッグオーの定義を拡張する: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}

指数関数以来増加している、我々は指数関数のうちの不平等を持ち上げることができます。n2n

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

対照

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

、乗法定数は指数内にあります。O 2 N、それは指数関数により乗算されます。2 p2O(n)O(2n)我々は持っているので、(いずれかのN0 3 N 2 ログ2 3 2 N、すなわち我々が取ることができ、N=0Pを=ログ2 3示し、その 3 N 2 O nは2pn=2p2nn03n2log232nN=0p=log233n2O(n)


4

実際には真であるあなたがリコール場合ので、 O N の定義を、あなたはどの定数によって乗算/追加できることがわかります。そう:3n=2O(n)O(n)

//ログ23n<2knlog2

nlog2(3n)<knlog2(2)

k>log2(3)

2kn3nk>log2(3)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.