El problema de mochila 0–1 cuando los artículos no se pueden dividir en pedazos usa el siguiente algoritmo.
Para todos los artículos
Caso 1: tome el artículo actual
- ¿Qué series matemáticas debo saber para calcular la complejidad de cualquier algoritmo o pseudocódigo?
- ¿Hay algún tipo de estrategias para resolver problemas en estática?
- ¿Cuáles son algunos "problemas de práctica" en los que todos deberían trabajar para mejorar la programación (en cualquier lenguaje de programación)?
- ¿Cómo determina el algoritmo de alimentación de Quora el contenido a mostrar?
- ¿Sigue siendo relevante el modelado de objetos, o se ha reemplazado hoy solo con datos y algoritmos?
Calcule la suma máxima usando este artículo
Caso 2: no tome el artículo actual
Calcular la suma máxima sin este artículo
La solución 2 ^ n está utilizando la recursividad y la solución óptima utiliza el almacenamiento en caché o la programación dinámica para reducir la cantidad de llamadas.
El enfoque de programación dinámica es O (N * K) donde k es el número de su peso máximo que puede llevar. El algoritmo es un polinomio “psudo”, ya que la complejidad depende de una variable “k” que puede ser cualquier cosa y no estar relacionada con el tamaño de la entrada n.
Si está haciendo la mochila 0–1 y puede romper los elementos, entonces O (nlogn) ordena por valor más alto y utiliza un algoritmo geeey para obtener el valor máximo con el peso k.
¡Feliz codificación!