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

Mapeo genérico instrumentado con árboles binarios de búsqueda. Más...

Diagrama de herencias de DynMapTree

Inheritance graph
[leyenda]

Lista de todos los miembros.

Tipos públicos

typedef Node Node_Type
 Tipo de nodo empleado por el mapeo.
typedef Tree< Key, Compare > Tree_Type
 Tipo de árbol que instrumenta el mapeo.

Métodos públicos

 DynMapTree (DynMapTree &src_tree)
 Construye un nuevo mapeo copia de src_tree.
 DynMapTree ()
 Constructor vacío.
void empty ()
 vacía completamente el mapeo.
void for_each (void(*visitFct)(Node *, int, int))
 Efectúa un recorrido infijo sobre todas los nodos del árbol.
void for_each_in_inorder (void(*visitFct)(Node *, int, int))
 Efectúa un recorrido infijo sobre todas los nodos del árbol.
void for_each_in_postorder (void(*visitFct)(Node *, int, int))
 Efectúa un recorrido infijo sobre todas los nodos del árbol.
void for_each_in_preorder (void(*visitFct)(Node *, int, int))
 Efectúa un recorrido prefijo sobre todas los nodos del árbol.
Range & get_data (Node_Type *p)
 Retorna el dato almacenada en un nodo.
const Key & get_key (Node_Type *p)
 Retorna la clave almacenada en un nodo.
size_t height ()
 Retorna la altura del árbol.
size_t insert (const Key &key, const Range &data)
 Inserta un par en el mapeo.
size_t internal_path_length ()
 Retorna la longitud del camino interno del árbol.
bool is_empty () const
 Retorna true si el mapeo está vacío.
DynMapTreeoperator= (DynMapTree &src_tree)
 Libera memoria de this y copia el contenido del mapeo src_tree.
size_t remove (const Key &key)
 Elimina el dato asociado a la clave key.
const size_t & size () const
 Retorna el número de elementos que contiene el mapeo.
Range * test (const Key &key)
 Retorna dato asociado a una clave.
bool test_key (const Key &key)
 Retorna true si key está presente dentro del mapeo.
virtual ~DynMapTree ()
 Libera toda la memoria del mapeo.


Descripción detallada

template<template< typename, class > class Tree, typename Key, typename Range, class Compare = Aleph::less<Key>>
class Aleph::DynMapTree< Tree, Key, Range, Compare >

DynMapTree define un mapeo entre un conjunto de claves, que no se pueden repetir, y un conjunto rango. El mapeo se implanta mediante alguna clase de árbol binario de búsqueda definido como parámetros tipo.

Los parámetros tipo de esta clase se definen del siguiente modo:

  1. Tree: la clase de árbol binario de búsqueda con que se desea instrumentar el mapeo. Los posibles tipos son BinTree Avl_Tree Splay_Tree Rb_Tree Treap y Rand_Tree.
  2. Key: tipo de clave de indización. También se le dice "dominio" del mapeo.
  3. Range: tipo del rango.
  4. Compare: criterio de comparación entre las claves.

Los elementos del mapeo pueden accederse mediante el operador [] colocando como parámetro la clave de indización.

Ver también:
BinTree Avl_Tree Splay_Tree Rb_Tree Treap Rand_Tree

Definición en la línea 81 del archivo tpl_dynMapTree.H.


Documentación de las funciones miembro

size_t insert ( const Key &  key,
const Range &  data 
) [inline]

insert(key,data) inserta en el mapeo un nuevo par (key,data) indizado por el valor de key. La operación no realiza inserción si el valor de key ya está presente en el mapeo.

Parámetros:
[in] key clave a insertar.
[in] data valor a indizar por la clave key.
Devuelve:
número de elementos que contiene el mapeo.
Excepciones:
bad_alloc si no hay suficiente memoria.

Definición en la línea 219 del archivo tpl_dynMapTree.H.

Referenciado por List_Graph::copy_graph().

size_t remove ( const Key &  key  )  [inline]

remove(key) elimina del mapeo el dato asociado a la clave key.

Parámetros:
[in] key clave a eliminar.
Devuelve:
número de elementos que contiene el mapeo.

Definición en la línea 240 del archivo tpl_dynMapTree.H.

Range* test ( const Key &  key  )  [inline]

test(key) retorna un puntero al valor del dato asociado a la clave key.

Parámetros:
[in] key clave a buscar.
Devuelve:
puntero al dato asociado a key si la clave existe en mapeo; NULL de lo contrario.

Definición en la línea 274 del archivo tpl_dynMapTree.H.


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

Leandro R. León