\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}