ダイナミックプログラミングを学びたい人のために、管理しやすい理解できる例を探しています。 動的プログラミングとは何かについての素敵な答えがあります 。フィボナッチ数列は素晴らしい例ですが、表面を傷つけるには小さすぎます。私はまだアルゴリズムのクラスを受講していませんが、学ぶための素晴らしいテーマに見えます。できれば、春の私のリストに載っていることを願っています。
このサイトをチェックしてください: ダイナミックプログラミングプラクティスの問題
これは良いチュートリアルです 29の解決されたDP問題で構成されています。
動的プログラミングの背後にある考え方は、サブ問題に対するソリューションをキャッシュ(メモ)しているということですが、それ以上のことがあると思います。
Google Code Jamには多くの問題があり、ソリューションを効率的にするには動的プログラミングが必要です。例:
Code Jamの各練習コンテストには、問題を解決しようとして困っている場合のための「コンテスト分析」セクションがあります。
レーベンシュタイン距離の計算は、ダイナミックプログラミングで最初に解決した問題の1つでした。これはフィボナッチ数列の複雑さの点で次のステップだと思います。