What is the average case time complexity for finding the height of the binary tree?

Category: QuestionsWhat is the average case time complexity for finding the height of the binary tree?
Editor">Editor Staff asked 4 weeks ago

What is the average case time complexity for finding the height of the binary tree?
 
(a) h = O(loglogn)
 
(b) h = O(nlogn)
 
(c) h = O(n)
 
(d) h = O(log n)
 
My question is based upon Binary Tree Properties topic in chapter Binary Trees of Data Structures & Algorithms I
 
I have been asked this question at a job interview.

1 Answers
Editor">Editor Staff answered 4 weeks ago

Right answer is (d) h = O(log n)
 
The explanation is: The nodes are either a part of left sub tree or the right sub tree, so we don’t have to traverse all the nodes, this means the complexity is lesser than n, in the average case, assuming the nodes are spread evenly, the time complexity becomes O(logn).