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.

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

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.

Time Complexity of building a heap

Quiz of this Question




My Personal Notes arrow_drop_up