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 Clase Aleph::Rand_Tree_Vtl< Key, Compare >

#include <tpl_rand_tree.H>

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

Métodos públicos

 Rand_Tree_Vtl (unsigned int seed, Compare &&cmp=Compare())
 
 Rand_Tree_Vtl (Compare &&cmp=Compare())
 
 Rand_Tree_Vtl (unsigned int seed, Compare &cmp)
 
 Rand_Tree_Vtl (Compare &cmp)
 
- Métodos públicos heredados desde Aleph::Gen_Rand_Tree< RandNodeVtl, Key, Compare >
Compare & key_comp ()
 Retorna una referencia al criterio de comparación.
 
Compare & get_compare ()
 
gsl_rng * gsl_rng_object ()
 Obtiene un puntero al objeto gsl_rng generador de números aleatorios.
 
 Gen_Rand_Tree (unsigned int seed, Compare &&__cmp)
 
 Gen_Rand_Tree (unsigned int seed, Compare &__cmp)
 
void swap (Gen_Rand_Tree &tree)
 
virtual ~Gen_Rand_Tree ()
 Destructor (libera generador de números aleatorios.
 
Nodeinsert (Node *p)
 
Nodeinsert_dup (Node *p)
 
Noderandom_join_exclusive (Node *tl, Node *tr)
 
Noderandom_remove (Node *&root, const Key &key)
 
Noderemove (const Key &key)
 
Nodesearch (const Key &key)
 Busca la clave key en el árbol binario de búsqueda aleatorizado.
 
Nodesearch_or_insert (Node *p)
 
bool verify () const
 
Node *& getRoot ()
 
Nodeselect (const size_t &i) const
 
size_t size () const
 Retorna la cantidad de nodos que contiene el árbol.
 
std::pair< int, Node * > position (const Key &key)
 
std::pair< int, Node * > find_position (const Key &key)
 
bool split_key (const Key &key, Gen_Rand_Tree &t1, Gen_Rand_Tree &t2)
 
bool split_key_dup (const Key &key, Gen_Rand_Tree &t1, Gen_Rand_Tree &t2)
 
void split_pos (size_t pos, Gen_Rand_Tree &t1, Gen_Rand_Tree &t2)
 
void join (Gen_Rand_Tree &t, Gen_Rand_Tree &dup)
 
void join_dup (Gen_Rand_Tree &t)
 

Otros miembros heredados

- Tipos públicos heredados desde Aleph::Gen_Rand_Tree< RandNodeVtl, Key, Compare >
typedef RandNodeVtl< Key > Node
 Tipo de nodo binario.
 

Descripción detallada

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

Árbol binario de búsqueda aleatorizado de nodos con destructor virtual.

Un árbol binario de búsqueda aleatorizado es un árbol binario de búsqueda en el cual las operaciones de modificación (inserción y eliminación) se realizan de forma aleatoria. Consecuentemente, todas las operaciones sobre esta clase de árbol binario son $O(\lg n)$, independientemente de cualquier sesgo que exista acerca del orden de inserción o eliminación de claves.

La clase Rand_Tree_Vtl maneja nodos con destructor virtual.

Parámetros
Keyel tipo de clave a guardar en los nodos.
Compareel criterio de comparación entre las claves de los nodos.
Ver también
Rand_Tree DynSetRandTree DynMapBinTree

Documentación del constructor y destructor

template<typename Key , class Compare = Aleph::less<Key>>
Aleph::Rand_Tree_Vtl< Key, Compare >::Rand_Tree_Vtl ( unsigned int  seed,
Compare &&  cmp = Compare() 
)
inline

Inicia el generador de números aleatorios con el valor seed y coloca la operación de comparación cmp


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

Leandro Rabindranath León