Estoy buscando un ejemplo comprensible para alguien que quiera aprender programación dinámica. Aquí hay buenas respuestas sobre qué es la programación dinámica . La secuencia de fibonacci es un gran ejemplo, pero es demasiado pequeña para arañar la superficie. Parece un gran tema para aprender, aunque todavía no he tomado la clase de algoritmos, espero que esté en mi lista para la primavera.
96
Aquí hay un buen tutorial que comprende 29 problemas de DP resueltos con una gran explicación.
fuente
La idea detrás de la programación dinámica es que estás almacenando en caché (memorizando) soluciones a subproblemas, aunque creo que hay más que eso.
Hay muchos problemas de Google Code Jam, por lo que las soluciones requieren una programación dinámica para ser eficientes. Ejemplos:
Bienvenido a Code Jam (moderado)
Hacer trampa con un árbol booleano (moderado)
PermRLE (difícil)
Tenga en cuenta que cada uno de los concursos de práctica de Code Jam tiene una sección de "Análisis del concurso" por si no está tratando de resolver el problema.
fuente
fuente
Calcular distancias de Levenshtein fue uno de los primeros problemas que resolví con programación dinámica; Creo que es un próximo paso decente de la secuencia de Fibonacci en términos de complejidad.
http://en.wikipedia.org/wiki/Levenshtein_distance
fuente