in DS recategorized by
2,263 views
1 vote
1 vote
What is the time complexity  to find the Kth largest element in a Min-Heap?

 Or equivalently, What is the time complexity to find Kth smallest element in Max-Heap?
in DS recategorized by
2.3k views

4 Comments

I think its O(n) because you have to go through the N/2 to N part of the heap.
1
1
Yeah, the nth largest element will be present in one of the leaf nodes, which will take $O(n)$
1
1
Yes, It will be O(n).
1
1

1 Answer

2 votes
2 votes
Best answer
The nth largest element will be present in one of the leaf nodes, and will take O(n/2) time to find.

Therefore O(n) is the required complexity.

2 Comments

Suppose the min heap has elements 1,2,3,4,5 ,6 in that order . And we want to find 4th largest element.
How can you say the 4th largest element will be present in the leaves.?
0
0
I am not saying that all elements are present in the leaves. Obviously some elements will not be leaves and will be Kth largest element in heap. If element is not in the leaves we won't need O(n) time. We will need less than that.

But if the element is present in the leaf nodes we will need O(n/2) time and hence time complexity is O(n).
0
0

Related questions

1 vote
1 vote
1 answer
3