Median of BST
Submissions: 3037   Accuracy:

15.21%

  Difficulty: Easy   Marks: 2
Associated Course(s):   Interview Preparation
       

Given a Binary Search Tree of size N, your task is to complete the function findMedian(), that return the median of Binary Search Tree.
Median of the BST are:

  • If number of nodes are even: then median = ((n/2th node + (n+1)/2th node) /2
  • If number of nodes are odd : then median = (n+1)th node.

For example:

Given BST(with odd no. of nodes) is : 
                    6
                 /    \
                3       8
              /   \    /  \
             1     4  7    9

Inorder of Given BST will be : 1, 3, 4, 6, 7, 8, 9
So, here median will 6.

Given BST(with even no. of nodes) is :  
                    6
                 /    \
                3       8
              /   \    /  
             1     4  7    

Inorder of Given BST will be : 1, 3, 4, 6, 7, 8
So, here median will  (4+6)/2 = 5.

Input:
The function takes a single argument as input, the reference pointer to the root of the BST.
There will be T test cases and for each test case function will be called separately.

Output:
For each test case the function should return the Median of the BST.

Constraints:
1<=T<=100
1<=N<=500

Example:
Input:

2
3
9 10 11
6
1 3 4 6 7 8
Output:
10
5

Note:The Input/Ouput format and Example given are used for system's internal purpose, and should be used by a user for Expected Output only. As it is a function problem, hence a user should not read any input from stdin/console. The task is to complete the function specified, and not to write the full code.

** For More Input/Output Examples Use 'Expected Output' option **

Author: harshitsidhwa


Need help with your code? Please use ide.geeksforgeeks.org, generate link and share the link here.

to report an issue on this page.