Question: I want to get the K largest elements from an array of size n using a max heap (I need to use a heap). I

I want to get the K largest elements from an array of size n using a max heap (I need to use a heap). I need a runtime of O(n + klogk). I'm thinking of modifying my max heap's heapify function so that it only goes to the level in the tree where our kth largest element is. For example, say we want the 50 largest elements. The level where that 50th largest element is will be at log2 (50). Can we modify the heapify so that this will work? I don't know how I'd get that in code. Any help would he great. Thanks!

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!