GATE | GATE-IT-2004 | Question 53
An array of integers of size n can be converted into a heap by adjusting the heaps rooted at each internal node of the complete binary tree starting at the node ⌊(n – 1) /2⌋, and doing this adjustment up to the root node (root node is at index 0) in the order ⌊(n – 1)/2⌋, ⌊(n – 3)/ 2⌋, ….., 0. The time required to construct a heap in this manner is
(A) O(log n)
(B) O(n)
(C) O (n log log n)
(D) O(n log n)
Answer: (B)
Explanation: The above statement is actually 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
Upper bound of time complexity is O(n) for above algo
See- https://www.geeksforgeeks.org/g-fact-85/
Quiz of this Question
Please Login to comment...