web-dev-qa-db-fra.com

Un exemple simple pour quelqu'un qui veut comprendre la programmation dynamique

Je cherche un exemple compréhensible pour quelqu'un qui souhaite apprendre la programmation dynamique. Il y a de bonnes réponses ici sur la programmation dynamique . La séquence fibonacci est un bon exemple, mais elle est trop petite pour rayer la surface. Cela semble être un sujet intéressant, même si je n’ai pas encore suivi la classe d’algorithmes, mais j’espère que cela figure sur ma liste pour le printemps.

94
AraK
29
Nick Dandoulakis

Voici un bon tutoriel comprenant 29 problèmes de DP résolus avec une grande explication.

20
akashchandrakar

L’idée de base de la programmation dynamique est que vous mettez en mémoire cache (mémoizing) des solutions aux sous-problèmes, bien que je pense que c’est plus que cela.

Il existe de nombreux problèmes liés à Google Code Jam tels que les solutions nécessitent une programmation dynamique pour être efficaces. Exemples:

Bienvenue à Code Jam (modéré)

Tricher un arbre booléen (modéré)

PermRLE (dur)

Notez que chacun des concours de pratique Code Jam comporte une section "Analyse du concours" si vous avez des difficultés à essayer de résoudre le problème.

7
Joey Adams
  1. Geeks pour les geeks a un grand collection de problèmes de programmation dynamiques. Je pense que cet ensemble est l'un des meilleurs si vous vous préparez pour un entretien.
  2. Si vous voulez de petits tutoriels vidéo sur les problèmes de DP, vous pouvez vérifier this problem set from MIT.
5
Diptendu

Le calcul des distances de Levenshtein a été l’un des premiers problèmes que j’ai résolus avec la programmation dynamique; Je pense que c'est une étape décente de la séquence de Fibonacci en termes de complexité.

http://en.wikipedia.org/wiki/Levenshtein_distance

4
David Winslow