Contoh sederhana untuk seseorang yang ingin memahami Pemrograman Dinamis [tutup]

96

Saya mencari contoh yang dapat dimengerti untuk seseorang yang ingin belajar Pemrograman Dinamis. Ada jawaban bagus di sini tentang apa itu pemrograman dinamis . Urutan fibonacci adalah contoh yang bagus, tetapi terlalu kecil untuk menggores permukaan. Tampaknya subjek yang bagus untuk dipelajari meskipun saya belum mengambil kelas algoritme, semoga ini ada di daftar saya untuk musim semi.

AraK
sumber

Jawaban:

30

Lihat situs ini: Soal Praktek Pemrograman Dinamis

Nick Dandoulakis
sumber
1
Melihat ceramah dari MIT video.mit.edu/watch/… dan kemudian menyelesaikan masalah di atas, akan membantu Anda memahami mengapa DP sangat membantu.
hal2286
Misalnya tautan youtube di komentar sudah rusak. Tautan baru: youtube.com/watch?v=OQ5jsbhAv_M
AJP
Lihat kumpulan video ini yang menurut saya mencakup aspek algoritme top-down dan bottom-up dengan cukup intuitif: youtube.com/playlist?list=PLx-Ye3Zw0WL0O_IDmbcVHlKqJuGEfw3VG
william007
Sepertinya MIT memindahkan kontennya dari halaman utama ke halaman MIT OpenCourseWare, jadi link @ pg2286 yang diberikan tidak valid.
Tautannya
7

Ide di balik pemrograman dinamis adalah bahwa Anda menyimpan (memoizing) solusi untuk submasalah, meskipun saya pikir ada lebih dari itu.

Ada banyak masalah Google Code Jam yang solusinya memerlukan pemrograman dinamis agar efisien. Contoh:

Selamat datang di Code Jam (sedang)

Menipu Pohon Boolean (Sedang)

PermRLE (keras)

Perhatikan bahwa setiap kontes praktik Code Jam memiliki bagian "Analisis Kontes" jika Anda bingung saat mencoba menyelesaikan masalah.

Joey Adams
sumber
Terima kasih untuk sumber dayanya. Saya menyelesaikan satu atau dua pertanyaan dari project euler dari waktu ke waktu, dan sepertinya saya benar-benar terjebak pada beberapa masalah yang membutuhkan pengetahuan tentang DP.
AraK
5
  1. Geeks for geeks memiliki banyak koleksi masalah pemrograman dinamis. Saya merasa set ini adalah salah satu yang terbaik jika Anda bersiap untuk wawancara.
  2. Jika Anda ingin video tutorial kecil tentang masalah DP, Anda dapat memeriksa kumpulan masalah ini dari MIT.
Diptendu
sumber