\begin{algorithm}
\caption{Minimum Heapify}
\begin{algorithmic}
\PROCEDURE{MinHeapify}{$A, i$}
\STATE $l =$ \CALL{Left}{$i$}
\STATE $r =$ \CALL{Right}{$i$}
\IF{$l\le A.\text{heap-size}$ \AND $A[l] < A[i]$}
\STATE $smallest = l$
\ELSE
\STATE $smallest = i$
\ENDIF
\IF{$r\le A.\text{heap-size}$ \AND $A[r] < A[i]$}
\STATE $smallest = r$
\ENDIF
\IF{$smallest \ne i$}
\STATE exchange $A[i]$ with $A[smallest]$
\STATE \CALL{MaxHeapify}{$A, smallest$}
\ENDIF
\ENDPROCEDURE
\end{algorithmic}
\end{algorithm}