📢 Too many exams? Don’t know which one suits you best? Book Your Free Expert 👉 call Now!


    Question

    A recursive function calculate_height(node) is designed

    to find the height of a binary tree (where a single node has height 0). The function is implemented as: def calculate_height(node):     if node is None:         return -1 # Base case     left_height = calculate_height(node.left)     right_height = calculate_height(node.right)     return 1 + max(left_height, right_height) When tested with a single-node tree (e.g., Node(10)), it returns 0. However, when tested with an empty tree (None), it returns -1. If the desired output for an empty tree is also -1 and for a single node tree is 0, the current implementation is correct. But if the definition of height for a single node tree is 1, what change would be needed in the base case?
    A Change return -1 to return 0. Correct Answer Incorrect Answer
    B Change return -1 to return 1. Correct Answer Incorrect Answer
    C Change return 1 + max(left_height, right_height) to return max(left_height, right_height). Correct Answer Incorrect Answer
    D Change return 1 + max(left_height, right_height) to return 2 + max(left_height, right_height). Correct Answer Incorrect Answer
    E No change is needed; the definition of height is subjective. Correct Answer Incorrect Answer

    Solution

    (If a single node has height 1, then an empty tree should be 0, and 1 + max(0,0) would give 1 for a single node.)

    Practice Next
    ask-question