Ich suche ein überschaubares Beispiel für jemanden, der Dynamisches Programmieren lernen möchte. Hier gibt es nette Antworten darauf, was dynamische Programmierung ist . Die Fibonacci-Sequenz ist ein gutes Beispiel, aber zu klein, um die Oberfläche zu zerkratzen. Es sieht nach einem großartigen Thema aus, über das ich lernen kann, obwohl ich die Algorithmenklasse noch nicht besucht habe. Hoffentlich steht es für den Frühling auf meiner Liste.
96
Hier ist ein gutes Tutorial mit 29 gelösten DP-Problemen mit guter Erklärung.
quelle
Die Idee hinter der dynamischen Programmierung ist, dass Sie Lösungen für Teilprobleme zwischenspeichern (auswendig lernen), obwohl ich denke, dass mehr dahinter steckt.
Es gibt viele Probleme mit Google Code Jam, sodass Lösungen eine dynamische Programmierung erfordern, um effizient zu sein. Beispiele:
Willkommen bei Code Jam (moderat)
Einen Booleschen Baum betrügen (moderat)
PermRLE (schwer)
Beachten Sie, dass jeder der Code Jam-Übungswettbewerbe einen Abschnitt "Wettbewerbsanalyse" enthält, wenn Sie beim Versuch, das Problem zu lösen, ratlos sind.
quelle
quelle
Die Berechnung der Levenshtein-Entfernungen war eines der ersten Probleme, die ich mit der dynamischen Programmierung gelöst habe. Ich denke, es ist ein anständiger nächster Schritt von der Fibonacci-Sequenz in Bezug auf die Komplexität.
http://en.wikipedia.org/wiki/Levenshtein_distance
quelle