\begin{minipage}[t]{8in}
\begin{tabular}{ll}
BinaryHeap$<$Key,Item$>$
 & binary\_heap\_name(int n)
\end{tabular}\\


 \parbox[b]{2in} \ \ 
\begin{minipage}[t]{4in}Create a binary heap of size $n$, with an array-based implementation.
This is a fast priority queue if the number of elements is predetermined
and unions are infrequent.\end{minipage}
\end{minipage}
\vspace{0.2in}


\begin{minipage}[t]{8in}
\begin{tabular}{ll}
BinomialHeap$<$Key,Item$>$
 & binomial\_heap\_name()
\end{tabular}\\


 \parbox[b]{2in} \ \ 
\begin{minipage}[t]{4in}Create a binomial heap, which may contain an arbitrary number of items,
and supports fast unions.\end{minipage}
\end{minipage}
\vspace{0.2in}


\begin{minipage}[t]{8in}
\begin{tabular}{ll}
BoundedPriorityQueue$<$Key,Item$>$
 & bounded\_pq\_name(int low, int high)
\end{tabular}\\


 \parbox[b]{2in} \ \ 
\begin{minipage}[t]{4in}Create a bounded priority queue, where all keys range from {\em low}
to {\em high}.
A typical application for such data structures occurs in graph algorithms,
where the lowest degree vertex is repeatedly deleted.  THIS DOES NOT EXIST YET.
\end{minipage}
\end{minipage}
\vspace{0.2in}

