question archive python question: define a function min_depth_leaf, which takes a Tree instance and returns the minimum depth of a leaf in the tree

python question: define a function min_depth_leaf, which takes a Tree instance and returns the minimum depth of a leaf in the tree

Subject:Computer SciencePrice:3.86 Bought8

python question:

define a function min_depth_leaf, which takes a Tree instance and returns the minimum depth of a leaf in the tree. In other words, it returns the minimum length of a path from the root to a leaf.

 

pur-new-sol

Purchase A New Answer

Custom new solution created by our subject matter experts

GET A QUOTE

Answer Preview

# Tree node 
class Node: 
    def __init__(self , key): 
        self.data = key  
        self.left = None
        self.right = None

# the required function
def min_depth_leaf(root): 
    # Corner Case.Should never be hit unless the code is  
    # called on root = NULL 
    if root is None: 
        return 0 
      
    # Base Case : Leaf node.This acoounts for height = 1 
    if root.left is None and root.right is None: 
        return 1
      
    # If left subtree is Null, recur for right subtree 
    if root.left is None: 
        return min_depth_leaf(root.right)+1
      
    # If right subtree is Null , recur for left subtree 
    if root.right is None: 
        return min_depth_leaf(root.left) +1 
      
    return min(min_depth_leaf(root.left), min_depth_leaf(root.right))+1
  
# Driver Program  
root = Node(1) 
root.left = Node(2) 
root.right = Node(3) 
root.left.left = Node(4) 
root.left.right = Node(5) 
print ('Minimum depth is: ',min_depth_leaf(root))

Please see the attached file for the complete solution