StreakPeaked· Practice

ExamsGATETechnical

An operator delete(i) for a binary heap data structure is to be designed to delete the item in the i-th node. Assume that the heap is implemented in an array and i refers to the i-th index of the array. If the heap tree has depth d (number of edges on the path from the root to the farthest leaf), then what is the time complexity to re-fix the heap efficiently after the removal of the element?

  1. O(1)
  2. O(d) but not O(1)
  3. O(2^d) but not O(d)
  4. O(d²) but not O(2^d)

Correct answer: O(d) but not O(1)

Solution

After removing an element from a binary heap, the heap property must be restored, which involves either bubbling down or bubbling up the affected node. This process can take time proportional to the depth of the heap, denoted as d, since the maximum number of levels to traverse is equal to the depth.

Related GATE Technical questions

⚔️ Practice GATE Technical free + battle 1v1 →