#include <tpl_rand_tree.H>
Métodos públicos | |
Rand_Tree (unsigned int seed, Compare &&cmp=Compare()) | |
Rand_Tree (Compare &&cmp=Compare()) | |
Rand_Tree (Compare &cmp) | |
Rand_Tree (unsigned int seed, Compare &cmp) | |
Métodos públicos heredados desde Aleph::Gen_Rand_Tree< RandNode, 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. | |
Node * | insert (Node *p) |
Node * | insert_dup (Node *p) |
Node * | random_join_exclusive (Node *tl, Node *tr) |
Node * | random_remove (Node *&root, const Key &key) |
Node * | remove (const Key &key) |
Node * | search (const Key &key) |
Busca la clave key en el árbol binario de búsqueda aleatorizado. | |
Node * | search_or_insert (Node *p) |
bool | verify () const |
Node *& | getRoot () |
Node * | select (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< RandNode, Key, Compare > | |
typedef RandNode< Key > | Node |
Tipo de nodo binario. | |
Árbol binario de búsqueda aleatorizado de nodos sin 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 , independientemente de cualquier sesgo que exista acerca del orden de inserción o eliminación de claves.
La clase Rand_Tree maneja nodos sin destructor virtual.
Key | el tipo de clave a guardar en los nodos. |
Compare | el criterio de comparación entre las claves de los nodos. |
|
inline |
Inicia el generador de números aleatorios con el valor seed y coloca la operación de comparación cmp