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 diff --git a/merge_sort.py b/merge_sort.py new file mode 100644 index 0000000..c883856 --- /dev/null +++ b/merge_sort.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