#include <tpl_binHeap.H>
Tipos públicos | |
typedef BinHeapNode< Key > | Node |
El tipo de nodo del heap. | |
![]() | |
typedef BinHeapNode< Key > | Node |
Otros miembros heredados | |
![]() | |
Compare & | key_comp () |
Compare & | get_compare () |
void | swap (GenBinHeap &h) |
Node * | getRoot () |
Node * | getRoot () const |
void | for_each_in_preorder (Node *p, Op &op) |
void | for_each_in_preorder (Node *p, Op &&op()) |
bool | level_traverse (Node *root, Op &operation) |
bool | level_traverse (Node *root, Op &&operation=Op()) |
bool | level_traverse (Node *root, Op &operation) const |
bool | level_traverse (Node *root, Op &&operation=Op()) const |
GenBinHeap (Compare &__cmp) | |
GenBinHeap (Compare &&__cmp=Compare()) | |
Node * | insert (Node *p) |
Node * | getMin () throw (std::exception, std::underflow_error) |
Node * | getMax () throw (std::exception, std::underflow_error) |
void | update (Node *p) |
Node * | remove (Node *node) throw (std::exception, std::underflow_error) |
void | remove_all_and_delete () |
Node * | top () const throw (std::exception, std::underflow_error) |
const size_t & | size () const |
Retorna la cardinalidad del heap. | |
bool | is_empty () const |
Retorna true si el heap está vacío. | |
bool | verify_heap () |
![]() | |
Node * | advance_left (Node *p) |
Node * | advance_right (Node *p) |
virtual bool | verify_heap (Node *p) |
Heap de nodos sin destructor virtual.
La clase BinHeap instrumenta un heap de nodos. Este heap no está implementado mediante un arreglo, sino con un árbol binario. Esto proporciona la gran ventaja de ser altamente dinámico. La memoria empleada es pues proporcional a la cantidad de nodos del heap.
Key | la clave que guarda cada nodo. |
Compare | el criterio de comparación entre las claves de los nodos; por omisión es la relación "menor que". |