Pensando en ello, DP es probablemente la técnica más fácil de volver a aprender.
En gráficos o teoría de números o geometría, el conjunto de habilidades es amplio y requiere bastante tiempo y paciencia. DP se trata de comprender el concepto principal.
Comenzaría a buscar problemas de DP en http://codeforces.com/ o http://www.topcoder.com/tc, comenzaría a codificar soluciones recursivas con la memorización y me expandiría gradualmente para comprender formas generalizadas de DP para más y más problemas. .
Me he beneficiado mucho de este artículo: una guía paso a paso para la programación dinámica.
- ¿Cuáles son algunos cursos gratuitos de ciencia de datos en línea?
- ¿Cuáles son los usos de las clases en línea?
- ¿Cuál es el mejor entrenamiento de administración de Hana en India?
- ¿Cuál es el mejor centro de capacitación en línea para Python?
- Cómo proporcionar capacitación en línea para padres
Dividiría todo el proceso en dos fases. En la primera fase, haría todo lo posible para comprender la programación dinámica. Creo que muchas personas no entienden completamente la esencia de la programación dinámica y comenzaron demasiado pronto para practicar con problemas. En mi humilde opinión, esto hace más daño que bien.
Es bastante importante ser claro con un montón de preguntas fundamentales como cómo DP es diferente de la recursividad, cuándo debemos usar DP, cuáles son las ventajas de usar DP, etc. Por ejemplo, creo que el paso crítico en el problema de DP es averiguar la fórmula de recursión, que divide el gran problema en múltiples subproblemas.
La segunda fase es practicar. Comenzaría con algunas preguntas de entrevistas de codificación, que generalmente no requieren una matriz 2D y son mucho más fáciles. Una vez que me familiarizo, Topcoder es otro sitio web para verificar. Esos problemas de programación competitiva son realmente difíciles
- Mira las conferencias de Tim Roughgarden sobre programación dinámica aquí Coursera
- Resuelva problemas de DP en http://codeforces.com/ y concursos de programación, desarrollo de software y servicios de empleo en TopCoder
- Mira las conferencias de Erik Demaines Videos de conferencias | Introducción a los algoritmos | Ingeniería Eléctrica e Informática | MIT OpenCourseWare
- Lea un libro (CLRS, etc.). Resuelva problemas desde aquí Problemas de práctica de programación dinámica
Vería las conferencias de Tim Roughgarden (profesor de Stanford) sobre DP: https://class.coursera.org/algo2….
Desearía poder olvidar la forma en que nos enseñaron DP en la universidad (fue horrible) y volver a mirar estas conferencias solo para tener esa primera impresión. Es muy tarde para mi.