Skip to content

Commit

Permalink
Merge pull request #1 from VAR-solutions/master
Browse files Browse the repository at this point in the history
update
  • Loading branch information
i-vishi authored Oct 1, 2018
2 parents 04d6b8a + 2da2825 commit 720593c
Showing 1 changed file with 31 additions and 0 deletions.
31 changes: 31 additions & 0 deletions 0-1_Knapsack_problem/knapsack.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@

#A naive recursive implementation of 0-1 Knapsack Problem

# Returns the maximum value that can be put in a knapsack of
# capacity W
def knapSack(W , wt , val , n):

# Base Case
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)

0 comments on commit 720593c

Please sign in to comment.