From f6ba5699a5fce53ce092aa03dce0311990701f12 Mon Sep 17 00:00:00 2001 From: mohdabidali <46680066+mohdabidali@users.noreply.github.com> Date: Sat, 26 Oct 2019 14:31:00 +0530 Subject: [PATCH 1/3] merge_sort Sorting of array in o(nlogn) time using divide and conquer approach --- merge_sort.py.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 merge_sort.py.py diff --git a/merge_sort.py.py b/merge_sort.py.py new file mode 100644 index 0000000..9ad43ff --- /dev/null +++ b/merge_sort.py.py @@ -0,0 +1,27 @@ +def mergeSort(arr): + if len(arr)>1: + mid = len(arr)//2 + left = arr[:mid] + right = arr[mid:] + mergeSort(left) + mergeSort(right) + i=j=k=0 + while i Date: Sat, 26 Oct 2019 14:31:49 +0530 Subject: [PATCH 2/3] modifing name --- merge_sort.py.py => merge_sort.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename merge_sort.py.py => merge_sort.py (98%) diff --git a/merge_sort.py.py b/merge_sort.py similarity index 98% rename from merge_sort.py.py rename to merge_sort.py index 9ad43ff..c883856 100644 --- a/merge_sort.py.py +++ b/merge_sort.py @@ -24,4 +24,4 @@ def mergeSort(arr): #Driver Code arr = [23,4,26,21,10,58,62,19,32,5,47,3] mergeSort(arr) -print(arr) \ No newline at end of file +print(arr) From 9e39099080ad7993b221cbcfd15ca2620471f08d Mon Sep 17 00:00:00 2001 From: mohdabidali <46680066+mohdabidali@users.noreply.github.com> Date: Sat, 26 Oct 2019 14:46:59 +0530 Subject: [PATCH 3/3] Breath_First_Search _in_Tree #7 This is a breath first search algorithm which help in level order traversal .This has been implemented in Tree data structure. --- bfs_Tree.py | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 bfs_Tree.py diff --git a/bfs_Tree.py b/bfs_Tree.py new file mode 100644 index 0000000..20518db --- /dev/null +++ b/bfs_Tree.py @@ -0,0 +1,53 @@ +# A node structure +class Node: + + # initializing node + def __init__(self, key): + self.data = key + self.left = None + self.right = None + + +# Function to print level order traversal of tree +def printLevelOrder(root): + h = height(root) + for i in range(1, h+1): + printGivenLevel(root, i) + + +def height(node): + if node is None: + return 0 + else : + # Compute the height of each subtree + lheight = height(node.left) + rheight = height(node.right) + + #Use the larger one + if lheight > rheight : + return lheight+1 + else: + return rheight+1 + +# Print nodes at a given level +def printGivenLevel(root , level): + if root is None: + return + if level == 1: + print (root.data), + elif level > 1 : + printGivenLevel(root.left , level-1) + printGivenLevel(root.right , level-1) + + + +# Driver program to test above function +root = Node(1) +root.left = Node(2) +root.right = Node(3) +root.left.left = Node(4) +root.left.right = Node(5) + +print ("Level order traversal of binary tree is -") +printLevelOrder(root) + \ No newline at end of file