#include <tpl_rb_tree.H>
Inheritance diagram for Aleph::Rb_Tree< Key, Compare >:
Collaboration diagram for Aleph::Rb_Tree< Key, Compare >:Public Types | |
| using | Base = Gen_Rb_Tree< RbNode, Key, Compare > |
| typedef RbNode< Key > | Node |
| typedef Key | key_type |
| El tipo de clave que contiene el nodo. | |
Public Member Functions | |
| Compare & | key_comp () |
| Retorna una referencia al criterio de comparación. | |
| Compare & | get_compare () |
| void | swap (Gen_Rb_Tree &tree) |
| Node * | search (const Key &key) |
| Node *& | getRoot () |
| Obtiene un puntero a la raÃz del árbol. | |
| Node * | insert (Node *p) |
| Node * | search_or_insert (Node *p) |
| Node * | insert_dup (Node *p) |
| bool | verify () const |
| Node * | remove (const Key &key) |
Ãrbol binario de búsqueda rojo-negro con nodos sin destructor virtual.
Un árbol binario de búsqueda rojo negro es un árbol binario de búsqueda cuya altura está acotada a
y sus operaciones de modificación acotadas en tiempo por
nodos inspeccionados.
Esta clase maneja nodos sin destructor virtual.
| Key | el tipo de clave que albergan los nodos del árbol. |
| Compare | clase de comparación entre las claves. |
|
inlineinherited |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
inlineinherited |
Inserta el nodo p en el árbol rojo-negro. Si la clave de p no está contenida en el árbol, entonces el nodo es insertado y se retorna el puntero a p. De lo contrario no ocurre la inserción y se retorna nullptr.
|
inlineinherited |
Inserta el nodo p en el árbol rojo-negro. Si la clave de p no está contenida en el árbol, entonces el nodo es insertado y se retorna el puntero a p. De lo contrario no ocurre la inserción y se retorna nullptr.
|
inlineinherited |
Elimina el nodo contentivo de la clave key. Si la clave se encuentra en el árbol, entonces se elimina el nodo que la contiene y se retorna su dirección. De lo contrario se retorna nullptr.
|
inlineinherited |
Busca un nodo con clave key. Retorna un puntero al nodo contentivo de key si éste se encuentra en el árbol; nullptr de lo contrario.
|
inlineinherited |
Busca la clave de p en el árbol rojo negro o lo inserta en caso de no encontrarse.
search_or_insert(p) busca en el árbol rojo-negro un nodo cuya clave sea KEY(p). Si la clave se encuentra, entonces se rerona un puntero al nodo que la alberga. De lo contrario se inserta p en el árbol binario de búsqueda this.
| [in] | p | el nodo a buscar o insertar. |
KEY(p).
|
inlineinherited |
Intercambia todos los elementos del treap this con el treap tree en tiempo contante (y extremadamente rápido).
| [in] | tree | el treap a intercambiar con this |