Tipos públicos | |
typedef BinHeapNodeVtl< Key > | Node |
El tipo de nodo del heap. | |
Métodos públicos | |
Node * | getMin () throw (std::exception, std::underflow_error) |
Elimina del heap el nodo de menor prioridad. | |
Node * | insert (Node *p) |
Inserta un nodo en un heap. | |
bool | is_empty () const |
Retorna true si el heap está vacío. | |
Node * | remove (Node *node) throw (std::exception, std::underflow_error) |
Elimina del heap el nodo node. | |
void | remove_all_and_delete () |
Borra todos los nodos del heap, invoca a los destructores de los nodos eliminados y libera toda la memoria. | |
const size_t & | size () const |
Retorna la cardinalidad del heap. | |
Node * | top () const throw (std::exception, std::underflow_error) |
Retorna el nodo con menor prioridad según el criterio de comparación especificado en la declaración. | |
void | update (Node *p) |
Actualiza prioridad de un nodo contenido en el 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". |
Definición en la línea 751 del archivo tpl_binHeap.H.
Node* getMin | ( | ) | throw (std::exception, std::underflow_error) [inline, inherited] |
getMIn() extrae del heap this el nodo que contenga el menor valor de prioridad según el criterio de comparación definido en la declaración.
underflow_error | si el heap está vacío. |
Reimplementado en DynBinHeap.
Definición en la línea 529 del archivo tpl_binHeap.H.
Referenciado por Huffman_Encoder_Engine::generate_huffman_tree(), GenBinHeap< Aleph::BinHeapNode< Key >, T, Compare >::remove(), y GenBinHeap< Aleph::BinHeapNode< Key >, T, Compare >::remove_all_and_delete().
Node* insert | ( | Node * | p | ) | [inline, inherited] |
insert(p) inserta en el heap this el nodo p.
[in] | p | el nodo a insertar. |
Definición en la línea 465 del archivo tpl_binHeap.H.
Referenciado por Huffman_Encoder_Engine::generate_huffman_tree(), GenBinHeap< Aleph::BinHeapNode< Key >, T, Compare >::remove(), Huffman_Encoder_Engine::set_end_of_stream(), y Huffman_Encoder_Engine::set_freq().
Node* remove | ( | Node * | node | ) | throw (std::exception, std::underflow_error) [inline, inherited] |
remove(node) elimina del heap el nodo node.
[in] | node | puntero al nodo a eliminar. |
underflow_error | si el heap está vacío |
Definición en la línea 582 del archivo tpl_binHeap.H.
void update | ( | Node * | p | ) | [inline, inherited] |
update(p) toma un nodo del heap cuya priorodad haya sido modificada y actualiza su prioridad dentro del heap. La idea es que si por alguna razón una prioridad debe ser modificada, entonces el orden de extracción pueda actualizarse.
[in] | p | puntero al nodo que se desea actualizar |
Definición en la línea 568 del archivo tpl_binHeap.H.
Referenciado por GenBinHeap< Aleph::BinHeapNode< Key >, T, Compare >::remove().