Infinite Knapsack
Full Knapsack
Example
I: weights=[2,3,5,7], values=[1,5,2,4], capacity=10
O: 5+5+5 = 15Approach
1. Optimal Subproblem
kp(w) = maximal value with capacity w
2. Solve by prefix
for all items that can fit in the bag
kp(w) = Math.max(kp(w), value(j) + kp(w-weight(j)))
3. Topo Order
for w from 1 to capacity
4. Base case
kp(0) = 0 no space = no value
5. Final Answer
kp(capacity)Code (LI.440)
Time & Space Complexity
0/1 Knapsack
Example
First Attempt
Second Try
Code (LI.125)
Pseudo-Polynomial Time
Space Complexity
Space Optimization
Last updated