Un semplice esempio per qualcuno che vuole capire la programmazione dinamica [chiuso]


96

Sto cercando un esempio facilmente comprensibile per qualcuno che vuole imparare la programmazione dinamica. Ci sono belle risposte qui su cosa sia la programmazione dinamica . La sequenza di Fibonacci è un ottimo esempio, ma è troppo piccola per graffiare la superficie. Sembra un ottimo argomento da imparare anche se non ho ancora seguito il corso di algoritmi, spero sia sulla mia lista per la primavera.

Risposte:


30

Dai un'occhiata a questo sito: Problemi pratici di programmazione dinamica


1
Vedere questa lezione dal MIT video.mit.edu/watch/… e poi risolvere i problemi di cui sopra, ti aiuterebbe a capire perché DP è utile.
pg2286

Caso in questione il link di YouTube nel commento è già interrotto. Nuovo collegamento: youtube.com/watch?v=OQ5jsbhAv_M
AJP

Dai un'occhiata a questa serie di video che ho trovato copre sia l'aspetto top-down che bottom-up degli algoritmi in modo abbastanza intuitivo: youtube.com/playlist?list=PLx-Ye3Zw0WL0O_IDmbcVHlKqJuGEfw3VG
william007

Sembra che il MIT abbia spostato il contenuto dalla pagina principale alla pagina OpenCourseWare del MIT, quindi il collegamento @ pg2286 fornito non è valido. Il collegamento è ora 19. dinamica Programmazione I La piena playlist Introduzione agli algoritmi è disponibile anche
rite2hhh


7

L'idea alla base della programmazione dinamica è che stai memorizzando nella cache (memoizzando) soluzioni a sottoproblemi, anche se penso che ci sia di più.

Esistono molti problemi di Google Code Jam tali che le soluzioni richiedono una programmazione dinamica per essere efficienti. Esempi:

Benvenuto in Code Jam (moderato)

Imbrogliare un albero booleano (moderato)

PermRLE (difficile)

Nota che ciascuno dei concorsi di pratica di Code Jam ha una sezione "Analisi del concorso" se sei perplesso nel tentativo di risolvere il problema.


Grazie per le risorse. Di tanto in tanto risolvo una o due domande del progetto euler e sembra che sia davvero bloccato su alcuni problemi che richiedono conoscenze su DP.
AraK

5
  1. Geeks for geek ha una grande raccolta di problemi di programmazione dinamica. Penso che questo set sia uno dei migliori se ti stai preparando per un colloquio.
  2. Se desideri piccoli video tutorial sui problemi DP, puoi controllare questo set di problemi dal MIT.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.