Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 53 additions & 0 deletions bfs_Tree.py
Original file line number Diff line number Diff line change
@@ -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)

27 changes: 27 additions & 0 deletions merge_sort.py
Original file line number Diff line number Diff line change
@@ -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<len(left) and j<len(right):
if left[i]<=right[j]:
arr[k]=left[i]
i+=1
else:
arr[k]=right[j]
j+=1
k+=1
while i<len(left):
arr[k]=left[i];
i+=1
k+=1
while j<len(right):
arr[k] = right[j];
j+=1;k+=1
#Driver Code
arr = [23,4,26,21,10,58,62,19,32,5,47,3]
mergeSort(arr)
print(arr)