#include <tpl_binHeap.H>
Tipos públicos | |
typedef BinHeapNode< Key > | Node |
El tipo de nodo del heap. | |
Tipos públicos heredados desde Aleph::GenBinHeap< BinHeapNode, Key, Compare > | |
typedef BinHeapNode< Key > | Node |
Otros miembros heredados | |
Métodos públicos heredados desde Aleph::GenBinHeap< BinHeapNode, Key, Compare > | |
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 () |
Métodos protegidos heredados desde Aleph::GenBinHeap< BinHeapNode, Key, Compare > | |
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". |