答えて
Brenner氏によると、あなたの最後の仮定は偽です。 (n
代わりx
の使用)のがWikipedia pageからO(n)
の定義を見てみましょう:
f(n) = O(n)
場合と定数c
が存在する場合にのみ、n0
S。T.ここ理由です|f(n)| <= c |g(n)|
、すべてn >= n0
です。
O(2^n^2) = O(2^n)
を確認します。明らかに、2^n^2
はO(2^n^2)
にありますので、f(n) = 2^n^2
を選択し、O(2^n)
にあるかどうかを確認してください。上記の式にこれを入れて:我々はそれが真実でないことを証明する矛盾を導き出すことができれば、我々はn0
とc
そのために上記適した定数値を見つけることができるかどうか見てみましょう
exists c, n0: 2^n^2 <= c * 2^n for all n >= n0
ことは事実である、または:
両側にログを取る:
log(2^n^2) <= log(c * 2^n)
簡素化を:
log(2)
によって
2 ^n log(2) <= log(c) + n * log(2)
デバイド:
n^2 <= log(c)/log(2) * n
c
がないことを知って見ることは簡単です、上記のすべてのn >= n0
についても同様ですn0
いるが、これO(2^n^2) = O(n^2)
は有効な仮定ではありません。
疑問符で指定した最後の仮定が偽である:
は、私はあなたが以下の式と私の解決策が表示されることがあり、解決策を見つけることを試みました!そのような前提をしないでください。
残りの操作は正しいと思われます。しかし、彼らは実際にあなたをどこにも連れません。
あなたのドラフトの途中でこの練習を終えておく必要があります。
T(n) = O(T(1)^(3^log2(n)))
そして、それはそれです。それが解決策です!
あなたが実際にその
3^log2(n) == n^log2(3) ==~ n^1.585
主張することができ、その後、あなたが得る:
T(n) = O(T(1)^(n^1.585))
あなたがドラフトの第二部で行った操作に少し似ています。 だから、このままにすることもできます。しかし、あなたは指数を混乱させることはできません。指数の値を変更すると、big-O分類が変更されます。
ありがとうございました – Romansko
- 1. 再帰アルゴリズムの空間複雑性を見つける一般的な方法は何ですか?時間の複雑さを見つけるために
- 2. 再帰関数の時間複雑さの発見
- 3. 時間複雑度無限再帰
- 4. 再帰による時間の複雑さ
- 5. 再帰的探索Big O時間の複雑さ
- 6. 再帰アルゴリズムの時間複雑度を証明する
- 7. 再帰アルゴリズムの時間複雑さと空間の複雑さはどのようなものですか?オペレーター?
- 8. k個のペアを見つける時間の複雑さの下限を見つける
- 9. forループを含む再帰関数の時間複雑度
- 10. 配列の時間の複雑さから最大のJavaを見つける
- 11. 再帰アルゴリズムの空間複雑度
- 12. どこでJavaメソッドの時間複雑さを見つけるのですか?
- 13. 2つの再帰呼び出しによる再帰アルゴリズムの時間複雑度
- 14. 床と天井を持つ再帰的なログアルゴリズムの複雑さを見つける
- 15. 再帰アルゴリズムの実行時の複雑さ
- 16. 再帰関数の複雑さ
- 17. トップk要素を見つけるための平均時間複雑度
- 18. 再帰関数の時間複雑度を計算するには?
- 19. 時間の複雑さと
- 20. 再帰的降下パーサーの複雑さについて
- 21. 非ovarlapping問題の再帰的解法の時間複雑度解析
- 22. 時間複雑
- 23. 時間複雑
- 24. 時間複雑
- 25. 時間の複雑さと空間の複雑さ、空間の複雑さの計算方法
- 26. 次の再発の時間の複雑さ?
- 27. BSTの高さを非再帰的に見つけるか?
- 28. 入力サイズを変えたときの時間の複雑さを見つける方法は?
- 29. アルゴリズムのBig O/Timeの複雑さを見つける方法
- 30. 次のコードの時間の複雑さを見つけるにはどうすればよいですか?
これまでに何を試しましたか?あなたはどこにいるのですか?ヒント:再帰関係。 – Davislor
すべてが添付写真にあります – Romansko