Document new heapify() function.

This commit is contained in:
Tim Peters 2002-08-03 18:02:09 +00:00
parent c4c718057e
commit 6e0da82a97

View File

@ -25,13 +25,16 @@ The API below differs from textbook heap algorithms in two aspects:
(a) We use zero-based indexing. This makes the relationship between the
index for a node and the indexes for its children slightly less
obvious, but is more suitable since Python uses zero-based indexing.
(b) Our pop method returns the smallest item, not the largest.
(b) Our pop method returns the smallest item, not the largest (called a
"min heap" in textbooks; a "max heap" is more common in texts because
of its suitability for in-place sorting).
These two make it possible to view the heap as a regular Python list
without surprises: \code{\var{heap}[0]} is the smallest item, and
\code{\var{heap}.sort()} maintains the heap invariant!
To create a heap, use a list initialized to \code{[]}.
To create a heap, use a list initialized to \code{[]}, or you can
transform a populated list into a heap via function \function{heapify()}.
The following functions are provided:
@ -45,6 +48,10 @@ Pop and return the smallest item from the \var{heap}, maintaining the
heap invariant.
\end{funcdesc}
\begin{funcdesc}{heapify}{x}
Transform list \var{x} into a heap, in-place, in linear time.
\end{funcdesc}
Example of use:
\begin{verbatim}