Tipos públicos | |
typedef NodeType< Key > | Node |
Tipo de nodo del treap. | |
Métodos públicos | |
Gen_Treap () | |
Constructor; inicializa generador de números aleatorios. | |
Node *& | getRoot () |
Retorna la raíz del treap. | |
gsl_rng * | gsl_rng_object () |
Obtiene un puntero al objeto gsl_rng generador de números aleatorios. | |
Node * | insert (Node *p) |
Insertar el nodo p en un treap. | |
Node * | remove (const Key &key) |
Elimina la clave key del treap. | |
Node * | search (const Key &key) |
Busca la clave key en el treap. | |
~Gen_Treap () | |
Destructor; libera memoria de generador de números aleatorios. |
El treap es probablemente la clase árbol binario de búsqueda que preserva un equilibrio probabilístico con mejor desempeño. Estudios empíricos sugieren que éste es el tipo de árbol binario de búsqueda más rápido.
NodeType | el tipo de nodo que manejará el árbol. Puede ser de tipo TreapNode o TreapNodeVtl según se desee o no tener destructores virtuales. | |
Key | el tipo de clave a guardar en los nodos. | |
Compare | el criterio de comparación entre las claves de los nodos. |
Definición en la línea 83 del archivo tpl_treap.H.
insert(p) inserta el nodo p en el treap this.
[in] | p | el nodo a insertar. |
Definición en la línea 183 del archivo tpl_treap.H.
Node* remove | ( | const Key & | key | ) | [inline] |
remove(key) busca la clave key en el treap this y, de encontrarse la clave, elimina el nodo del treap.
[in] | key | clave a eliminar. |
Definición en la línea 208 del archivo tpl_treap.H.