Referencia de la plantilla de la Clase ArrayHeap
[Árboles con raíz]

Heap o cola de prioridad implementada con arreglos. Más...

Lista de todos los miembros.

Métodos públicos

 ArrayHeap (T *ptr, const size_t &d)
 Constructor con arreglo y dimensión.
 ArrayHeap (const size_t &d=1024)
 Constructor con dimensión por omisión.
getMin () throw (std::exception, std::underflow_error)
 Elimina el menor elemento del heap y retorna una copia del valor eliminado.
T & insert (const T &key) throw (std::exception, std::overflow_error)
 Inserta un elemento en el heap.
T & operator[] (const size_t &i)
 Retorna la i-ésima entrada del heap.
T & top () throw (std::exception, std::underflow_error)
 Retorna el menor elemento del heap.
void update (T &data)
 Actualiza prioridad de una referencia contenida en el heap.
virtual ~ArrayHeap ()
 Destructor.


Descripción detallada

template<typename T, class Compare = Aleph::less<T>>
class Aleph::ArrayHeap< T, Compare >

ArrayHeap define un heap instrumentado mediante un arreglo estático cuya dimensión es especificada en tiempo de construcción.

Parámetros:
T el tipo de elementos que tiene el heap.
Compare el criterio de comparación entre los elementos el cual determina el tipo de orden y prioridad.
Ver también:
BinHeap DynBinHeap

Definición en la línea 214 del archivo tpl_arrayHeap.H.


Documentación de las funciones miembro

T getMin (  )  throw (std::exception, std::underflow_error) [inline]

getMin() extrae del heap el elemento con menor valor según sea el criterio de comparación especificado.

Excepciones:
underflow_error si el heap está vacío.
Devuelve:
una copia del valor eliminado.

Definición en la línea 289 del archivo tpl_arrayHeap.H.

T& insert ( const T &  key  )  throw (std::exception, std::overflow_error) [inline]

insert(key) inserta en el heap la clave una copia de la clave key.

Parámetros:
[in] key clave a insertar.
Devuelve:
una referencia modificable al elemento insertado.
Excepciones:
overflow_error si el arreglo interno está lleno.

Definición en la línea 269 del archivo tpl_arrayHeap.H.

void update ( T &  data  )  [inline]

update(data) toma una referencia a un elemento dentro del heap, presumiblemente modificada, y actualiza su prioridad dentro del heap. La idea es que si por alguna razón una prioridad debe ser modificada, entonces ésta pueda actualizarse.

La referencia debe haberse obtenido mediante una llamada previa a insert().

Parámetros:
[in] data referencia a la entrada dentro del heap que se desea actualizar
Ver también:
insert()
Nota:
Es esencial que data sea una referencia válida al heap. Resultados son impredecibles (y probablemente fatales) si este no es el caso.

Definición en la línea 326 del archivo tpl_arrayHeap.H.


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

Leandro R. León