Dynamic programming visualizer
0/1 Knapsack Visualizer
Choose whole items to maximize value without exceeding capacity.
Best O(nW)Average O(nW)Worst O(nW)Space O(nW)
Example Data
items = [A(w:2, v:3), B(w:3, v:4), C(w:4, v:5), D(w:5, v:8)], capacity = 8DP Table
Item / Capacity012345678No items
0
0
0
0
0
0
0
0
0
Aw:2 v:3
?
?
?
?
?
?
?
?
?
Bw:3 v:4
?
?
?
?
?
?
?
?
?
Cw:4 v:5
?
?
?
?
?
?
?
?
?
Dw:5 v:8
?
?
?
?
?
?
?
?
?
Selected itemsCalculated after completion
UpdatingSourceComputed
Metrics
Computations0
Table updates0
Progress0%
Time taken0.0s
knapsack(items, capacity)dp = zero matrixfor each item ifor capacity c from 1 to Wdp[i][c] = dp[i - 1][c]if weight[i] <= cinclude = value[i] + dp[i - 1][c - weight[i]]exclude = dp[i - 1][c]dp[i][c] = max(include, exclude)return dp[n][W]