La esencia de la programación dinámica es intercambiar espacio por tiempo y calcular el rango de valores de todas las soluciones factibles.
El algoritmo codicioso selecciona lo mejor cada vez, pero el resultado puede no ser el mejor.
Da un ejemplo sencillo.
La mochila tiene capacidad para 8 kg y hay 3 artículos, 3 kg, 4 kg y 5 kg.
La programación dinámica es el cálculo de 3+4, 3+5 y la solución. es el máximo 3+5=8kg
El algoritmo codicioso es una elección. La primera vez que eliges el más grande: 5kg<8kg, la segunda vez que eliges los 4kg restantes más grandes, 4+5>8. , entonces la solución es de 5 kg.