#include <tpl_rand_tree.H>
Diagrama de herencias de Aleph::Rand_Tree< Key, Compare >
Diagrama de colaboración para Aleph::Rand_Tree< Key, Compare >: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