動的プログラミングを使用して解決できるすべてのプログラムは再帰を使用して解決できますが、逆も可能です。可能であれば、時間の複雑さはどのように異なるでしょうか?再帰と動的プログラミング
1
A
答えて
2
も同じですか?
はい。一方
、あなたが実際に依頼することを意味している場合:
も真逆もまた同様ですか?
それでは答えはいいです。再帰的アルゴリズムで解決できる問題のすべては、動的プログラミングでは合理的に解決できるわけではありません。これを強調するために、並べ替えるという1つの問題だけを考え出す必要があります。再帰アルゴリズムでソートの問題を解決するのは簡単ですが、動的プログラミングによるソートの問題を解決するための合理的なアルゴリズムはないようです。残念ながら、ここでは「妥当な」ウィーゼル語を使うことに頼らざるを得ません。なぜなら、ソートの問題を何らかの方法でダイナミックにプログラミングして、非常に扱いにくく非効率的な方法で使用できるからです。
時間の複雑さに関するご質問にはお答えできません。これは手元の問題と、どのように適用可能な動的プログラミングが問題を解決するかにかかっています。
-1
ダイナミックプログラミングは、時間と複雑さのトレードオフです。いくつかの情報をテーブルに保存するので、同じことをやり直す必要がある場合は、情報を再計算する必要はありません。
問題が自然発生的にサブプログラムに分解され、頻繁に繰り返すと、動的プログラミングが良い考えです。一方、再帰的な問題がなければ、動的プログラミングを使用することに意味はありません。
関連する問題
- 1. Odooの再帰的プログラミング
- 2. 動的プログラミング再帰的または反復的
- 3. 動的プログラミング再帰とメモの振り分け
- 4. Bottom Up動的プログラミングは再帰的ですか?
- 5. 再帰 - Javaプログラミング
- 6. 意思決定ツリーの再帰的プログラミング
- 7. 再帰的なJavaプログラミング、ナイトのツアーはナッツを動かす
- 8. Pythonの再帰関数を使った動的プログラミング
- 9. 再帰的なfor動的ポインタ
- 10. すべての再帰アルゴリズムを動的プログラミングで改善できますか?
- 11. 動的プログラミング - サブセット合計再構築パス
- 12. 再帰的降下と再帰的上昇解析の比較
- 13. AppleScript:AppleWorksのPDFに再帰的に印刷するためのプログラミング
- 14. このパズルを再帰的にプログラミングする方法は?
- 15. NHibernateと再帰的クエリフィルタ
- 16. newtypeと再帰的定義
- 17. SQLiteと再帰的構造
- 18. 再帰的ループ
- 19. は再帰的
- 20. 再帰的
- 21. 再帰的
- 22. 再帰的メイズソルバメソッド
- 23. 再帰的エラーハンドラ
- 24. 再帰的レンダリングコンポーネント
- 25. 再帰的メニューシステム
- 26. 再帰的サイクル
- 27. 再帰的
- 28. 再帰的シーケンスジェネレータ
- 29. ウィンドウ上の再帰的な移動コマンド
- 30. Python Battleship Game、再帰的誤動作
"ダイナミックプログラミングを使用してプログラムを解決する"とは、あなたが何を意味するのかを言わない限り、実際には答えられません。一般に、それは正確に定義されたものではありません。たとえば、動的プログラミングを使用するように配列をソートするプログラムでは、どういう意味でしょうか? –
私は再帰を使って行える文字列の順列を印刷するかのように一般的に尋ねました。それは動的プログラミングを使用して行うことができますか? – Zephyr