Analice la diferencia entre usar programación dinámica y algoritmo codicioso para resolver el problema de la mochila

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.