From cd97acbc69643dd032bddd0b4170ddb77999394f Mon Sep 17 00:00:00 2001 From: kanishka Date: Tue, 11 Oct 2022 22:49:00 +0530 Subject: [PATCH 1/4] Create insertion.py --- insertion.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 insertion.py diff --git a/insertion.py b/insertion.py new file mode 100644 index 0000000..223fcc3 --- /dev/null +++ b/insertion.py @@ -0,0 +1,23 @@ +# Insertion sort in Python + + +def insertionSort(array): + + for step in range(1, len(array)): + key = array[step] + j = step - 1 + + # Compare key with each element on the left of it until an element smaller than it is found + # For descending order, change keyarray[j]. + while j >= 0 and key < array[j]: + array[j + 1] = array[j] + j = j - 1 + + # Place key at after the element just smaller than it. + array[j + 1] = key + + +data = [9, 5, 1, 4, 3] +insertionSort(data) +print('Sorted Array in Ascending Order:') +print(data) \ No newline at end of file From 284360676c9eba1c4f1be94d137f631444d5374c Mon Sep 17 00:00:00 2001 From: kanishka Date: Tue, 11 Oct 2022 22:51:56 +0530 Subject: [PATCH 2/4] Create tree.py --- tree.py | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 tree.py diff --git a/tree.py b/tree.py new file mode 100644 index 0000000..65b4e70 --- /dev/null +++ b/tree.py @@ -0,0 +1,63 @@ +# Python3 program to +# implement Tree Sort + +# Class containing left and +# right child of current +# node and key value +class Node: + +def __init__(self,item = 0): + self.key = item + self.left,self.right = None,None + + +# Root of BST +root = Node() + +root = None + +# This method mainly +# calls insertRec() +def insert(key): +global root +root = insertRec(root, key) + +# A recursive function to +# insert a new key in BST +def insertRec(root, key): + +# If the tree is empty, +# return a new node + +if (root == None): + root = Node(key) + return root + +# Otherwise, recur +# down the tree +if (key < root.key): + root.left = insertRec(root.left, key) +elif (key > root.key): + root.right = insertRec(root.right, key) + +# return the root +return root + +# A function to do +# inorder traversal of BST +def inorderRec(root): +if (root != None): + inorderRec(root.left) + print(root.key ,end = " ") + inorderRec(root.right) + +def treeins(arr): +for i in range(len(arr)): + insert(arr[i]) + +# Driver Code +arr = [5, 4, 7, 2, 11] +treeins(arr) +inorderRec(root) + +# This code is contributed by shinjanpatra From d864527f9d28fafeab573b4d9552c3d405d301fa Mon Sep 17 00:00:00 2001 From: kanishka Date: Tue, 11 Oct 2022 22:54:18 +0530 Subject: [PATCH 3/4] Update tree.py --- tree.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/tree.py b/tree.py index 65b4e70..d420a4c 100644 --- a/tree.py +++ b/tree.py @@ -58,6 +58,4 @@ def treeins(arr): # Driver Code arr = [5, 4, 7, 2, 11] treeins(arr) -inorderRec(root) - -# This code is contributed by shinjanpatra +inorderRec(root) \ No newline at end of file From a0cb9ace19734f52bf9b826f3bf13c1a7e069db9 Mon Sep 17 00:00:00 2001 From: tushar <115578137+tushartyagi08@users.noreply.github.com> Date: Tue, 11 Oct 2022 23:51:07 +0530 Subject: [PATCH 4/4] Add files via upload --- knapsack_problem.py | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 knapsack_problem.py diff --git a/knapsack_problem.py b/knapsack_problem.py new file mode 100644 index 0000000..944a56d --- /dev/null +++ b/knapsack_problem.py @@ -0,0 +1,41 @@ +# 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 + + +#Driver Code +val = [60, 100, 120] +wt = [10, 20, 30] +W = 50 +n = len(val) +print knapSack(W, wt, val, n) + +# This code is contributed by Nikhil Kumar Singh