Data Structures | Heap | Question 1

What is the time complexity of Build Heap operation. Build Heap is used to build a max(or min) binary heap from a given array. Build Heap is used in Heap Sort as a first step for sorting.
(A) O(nLogn)
(B) O(n^2)
(C) O(Logn)
(D) O(n)

Answer: (D)

Explanation: Following is algorithm for building a Heap of an input array A.

    heapsize := size(A); 
    for i := floor(heapsize/2) downto 1 
        do HEAPIFY(A, i); 
    end for 

Although the worst case complexity looks like O(nLogn), upper bound of time complexity is O(n). See following links for the proof of time complexity.

Quiz of this Question

My Personal Notes arrow_drop_up