program for greedy's algorithm fill the remaining code
def printPath(root, sum):
def getRootToLeafSum(root):
def findMaxSumPath(root):
sum = getRootToLeafSum(root)
print("The maximum sum is:", sum)
print("The maximum sum path is :", end=' ')
printPath(root, sum)
def Rnode():
height=int(input("Enter the level of Binary tree:"))
p=int(input("Perfect=1,imperfect=0:"))
try:
B=tree(height,is_perfect=p)
B=list(B)[0]
print(B)
findMaxSumPath(B)
except:
print("level of Binary value between 0-9")
# This main method of given program to call Rnode() function
if _name_ == '__main__': Rnode()
ONLY THING YOU HAVE TO WRITE THE REMAINING CODE getRootToLeafSum(root) and printPath(root, sum)
def printPath(root, sum):
if sum == 0:
return True
if root is None:
return False
left = printPath(root.left, sum - root.data)
right = printPath(root.right, sum - root.data)
if left or right:
print(root.data, end=' ')
return left or right
def getRootToLeafSum(root):
if root is None:
return 0
left = getRootToLeafSum(root.left)
right = getRootToLeafSum(root.right)
return (left if left > right else right) + root.data
def findMaxSumPath(root):
sum = getRootToLeafSum(root)
print("The maximum sum is:", sum)
print("The maximum sum path is :", end=' ')
printPath(root, sum)
def Rnode():
height=int(input("Enter the level of Binary tree:"))
p=int(input("Perfect=1,imperfect=0:"))
try:
B=tree(height,is_perfect=p)
B=list(B)[0]
print(B)
findMaxSumPath(B)
except:
print("level of Binary value between 0-9")
# This main method of given program to call Rnode() function
if __name__ == '__main__': Rnode()
Comments
Leave a comment