En la mayoría de los problemas, su pregunta no tiene sentido, quiero decir que es muy raro encontrar un problema que pueda resolverse utilizando una técnica codiciosa y una técnica de programación dinámica.
Son dos pistas diferentes, dos tipos diferentes de técnicas que resuelven dos categorías diferentes de problemas, pero hay una pequeña superposición entre ellas, es decir, algunos problemas que pueden resolverse utilizando ambos métodos.
En caso de que haya una solución de programación dinámica y una solución codiciosa para el mismo problema, entonces decida qué usar en el problema en función de dos factores:
- Como estudiante de primer año de una sucursal que no es CS en un IIT, ¿cómo domino las estructuras de datos, los algoritmos y el aprendizaje automático por mi cuenta?
- ¿Qué cosas debes saber antes de aprender algoritmos?
- ¿Cuál crees que es el algoritmo de aprendizaje automático más inteligente?
- ¿Cómo funciona el algoritmo DeepMind?
- ¿Cuál es una manera simple de implementar la paginación en una matriz en Javascript?
- El tiempo consumido por ambos algoritmos y el límite de tiempo que tiene.
- La memoria que necesitan ambos algoritmos y la memoria que tiene.
Por lo general, la programación dinámica necesita mucha memoria pero menos tiempo y los algoritmos codiciosos necesitan menos tiempo y menos memoria.
Por lo general, el algoritmo codicioso es mejor.
Pero también creo que no podemos decir esto con seguridad sin investigar el problema.
Espero que esto ayude.