From 3606d3441d8f20a523789f9d8d2198853d2dbe5d Mon Sep 17 00:00:00 2001 From: Pragati Kalra <43950367+Pragati-Kalra@users.noreply.github.com> Date: Fri, 2 Oct 2020 11:03:56 +0530 Subject: [PATCH] 0-1 Knapsack Python program to implement 0-1 knapsack --- 0/0/0/0-1 Knapsack | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 0/0/0/0-1 Knapsack diff --git a/0/0/0/0-1 Knapsack b/0/0/0/0-1 Knapsack new file mode 100644 index 0000000..3dbba7c --- /dev/null +++ b/0/0/0/0-1 Knapsack @@ -0,0 +1,27 @@ +def knapSack(W, wt, val, n): + + + if n == 0 or W == 0 : + return 0 + + # If weight of the nth item is more than Knapsack of capacity + # W, then this item cannot be included in the optimal solution + if (wt[n-1] > W): + return knapSack(W, wt, val, n-1) + + # return the maximum of two cases: + # (1) nth item included + # (2) not included + else: + return max(val[n-1] + knapSack(W-wt[n-1], wt, val, n-1), + knapSack(W, wt, val, n-1)) + +# end of function knapSack + +# To test above function +val = [60, 100, 120] +wt = [10, 20, 30] +W = 50 +n = len(val) +print knapSack(W, wt, val, n) +