Examveda

The procedure given below is used to maintain min-order in the min heap. Find out the missing statements, represented as X.
procedure TrickleDownMin(i)
	 if A[i] has children then 
		m := index of smallest of the children 
		        or grandchildren (if any) of A[i] 
		if A[m] is a grandchild of A[i] then
			 if A[m] < A[i] then 
				swap A[i] and A[m]
				X: _______________________
					____________________
			 endif 	
			TrickleDownMin(m)
		 endif 
		else //{A[m] is a child of A[i]} 
			if A[m] << A[i] then 
				swap A[i] and A[m] 
		endif
	 endif

A. if A[m] > A[parent(m)] then
swap A[m] and A[parent(m)]

B. if A[m] > A[parent(m)] then
swap A[i] and A[parent(m)]

C. if A[m] < A[parent(m)] then
swap A[m] and A[parent(m)]

D. if A[m] > A[parent(m)] then
swap A[i] and A[parent(m)]

Answer: Option A


This Question Belongs to Data Structure >> Heaps

Join The Discussion

Related Questions on Heaps

Which of the following is true for a min-heap?

A. The root node is the smallest element, and every parent node is smaller than its children.

B. The root node is the largest element, and every parent node is larger than its children.

C. All nodes are arranged in a complete binary tree.

D. The tree is always balanced.