Aleph-w  1.5a.2
Biblioteca general de algoritmos y estructuras de datos
 Todo Clases Archivos Funciones Variables 'typedefs' Enumeraciones Amigas Grupos Páginas
Referencia de la plantilla de la Estructura Aleph::BinHeapVtl< Key, Compare >

#include <tpl_binHeap.H>

+ Diagrama de herencias de Aleph::BinHeapVtl< Key, Compare >
+ Diagrama de colaboración para Aleph::BinHeapVtl< Key, Compare >:

Tipos públicos

typedef BinHeapNodeVtl< Key > Node
 El tipo de nodo del heap.
 
- Tipos públicos heredados desde Aleph::GenBinHeap< BinHeapNodeVtl, Key, Compare >
typedef BinHeapNodeVtl< Key > Node
 

Otros miembros heredados

- Métodos públicos heredados desde Aleph::GenBinHeap< BinHeapNodeVtl, 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< BinHeapNodeVtl, Key, Compare >
Node * advance_left (Node *p)
 
Node * advance_right (Node *p)
 
virtual bool verify_heap (Node *p)
 

Descripción detallada

template<class Key, typename Compare = Aleph::less<Key>>
struct Aleph::BinHeapVtl< Key, Compare >

Heap de nodos con destructor virtual.

La clase BinHeapVtl instrumenta un heap de nodos con destructor virtual. 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.

Parámetros
Keyla clave que guarda cada nodo.
Compareel criterio de comparación entre las claves de los nodos; por omisión es la relación "menor que".
Ver también
BinHeap DynBinHeap

La documentación para esta estructura fue generada a partir del siguiente fichero:

Leandro Rabindranath León