動的プログラミングを理解したい人のための簡単な例[終了]


96

ダイナミックプログラミングを学びたい人のために、扱いやすく理解できる例を探しています。動的プログラミングとは何かについて、ここで良い答えがあります。フィボナッチ数列は良い例ですが、表面を傷つけるには小さすぎます。アルゴリズムのクラスはまだ受講していませんが、春に向けて私のリストに載っていれば幸いです。

回答:


30

このサイトをチェックしてください:動的プログラミングの練習問題


1
MITvideo.mit.edu/watch/…からこの講義を見て、上記の問題を解決すると、DPが役立つ理由を理解するのに役立ちます。
pg2286

コメントのYouTubeリンクが既に壊れている適例。新しいリンク:youtube.com/watch
AJP

アルゴリズムのトップダウンとボトムアップの両方の側面をかなり直感的にカバーしていることがわかった、このビデオのセットを確認してください:youtube.com/playlist
list

MITがコンテンツをメインページからMIT OpenCourseWareページに移動したため、提供された@ pg2286のリンクは無効です。リンクは現在19です。動的プログラミングI完全なプレイリスト、Introduction to Algorithmsも利用可能です
rite2hhh


7

動的プログラミングの背後にある考え方は、副問題の解決策をキャッシュ(メモ)しているということですが、それ以上のものがあると思います。

多くのGoogle Code Jamの問題があるため、ソリューションには効率的な動的プログラミングが必要です。例:

Code Jamへようこそ(中程度)

ブールツリーの不正行為(中程度)

PermRLE(ハード)

Code Jamの各練習コンテストには、問題を解決しようとして困惑している人のための「コンテスト分析」セクションがあることに注意してください。


リソースをありがとう。私は時々、プロジェクトオイラーからの1つまたは2つの質問を解決しますが、DPに関する知識を必要とするいくつかの問題に本当に行き詰まっているようです。
AraK、2009年

5
  1. オタクのためのオタクは素晴らしいコレクションを持っています動的プログラミング問題のをます。面接の準備をしているなら、このセットは最高だと思います。
  2. DPの問題に関する小さなチュートリアルビデオが必要な場合は、MITからこの問題セットを確認できます。

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