3

3 n = O(2 n ) ですか? (3/2) n = O(2 n ) はどうですか? 答えを説明できますか?

2 nにどのような定数 C を掛けても、3 nは 2 nよりも速く成長するため、最初は false になりました。2番目も同じですか?

log(3 n ) = O(log (2 n ) ) はどうですか? ログのベースがわからないため、これを特定できないと思います。

4

1 に答える 1

5

より強い結果を実際に証明してみましょう: 1 ≤ r 0 < r 1である任意の定数 r 0および r 1について、r 0 n = O(r 1 n )は真であり、r 1 n = r 0 nは偽です。 . 1 < 3/2 < 2 であるため、これは特殊なケースとして結果を証明します。

最初の部分を証明するために、r 0 n = O(r 1 n ) であることを示します。これを行うには、big-O の定義を使用し、任意の n > n 0 に対して、次のようになる n 0と cの値を見つけます。

r 0 n ≤ cr 1 n

n = n 0を選択でき、c = 1 を選択できます。上記の不等式が成立するため、定義により、r 0 n = O(r 1 n ) が得られます。

2 番目の部分を証明するために、r 1 n ≠ O(r 0 n ) であることを示します。これを行うには、矛盾を進めます。矛盾を避けるために、任意の n > n 0に対してc と n 0の選択が存在すると仮定します。

r1n ≦ cr0n _ _ _

両側のログを取る

n log r 1 ≤ log (cr 0 n )

n log r 1 ≤ log c + n log r 0

n (log r 1 - log r 0 ) ≤ log c

n log(r 1 / r 0 ) ≤ log c

n ≤ log c / (log(r 1 / r 0 ))

しかし、このステートメントは n の任意の選択に対して成り立つ必要があるため、問題が発生しています。ただし、log c / (log(r 1 / r 0 ))より大きい n を選択すると、ステートメントは偽になります。

矛盾に達したので、仮定が間違っていたに違いありません。したがって、1 < r 0 < r 1の場合、r 1 n ≠ O(r 0 n ) となります。

お役に立てれば!

于 2013-02-13T06:44:36.340 に答える