Referencia de la plantilla de la Clase BinTreeVtl
[Árboles con raíz]

Árbol binario de búsqueda con destructores virtuales en los nodos. Más...

Diagrama de herencias de BinTreeVtl

Inheritance graph
[leyenda]
Diagrama de colaboración para BinTreeVtl:

Collaboration graph
[leyenda]

Lista de todos los miembros.

Métodos públicos

Node *& getRoot ()
 Retorna la raíz del árbol binario de búsqueda.
Node * insert (Node *p)
 Inserta p en el árbol binario de búsqueda.
void join (GenBinTree &tree, GenBinTree &dup)
 Unión de this con tree.
Node * remove (const Key &key)
 Elimina una clave de un árbol binario de búsqueda.
Node * search (const Key &key)
 Busca una clave en un árbol binario de búsqueda.
bool split (const Key &key, GenBinTree &l, GenBinTree &r)
 Particiona el árbol binario de búsqueda según una clave.


Descripción detallada

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

La clase BinTree instrumenta un árbol binario de búsqueda clásico en el cual los nodos tienen destructor virtual. Consecuentemente, si se tiene una clase derivada de un nodo que pertenezca a este árbol binario de búsqueda, entonces la destrucción de un nodo derivado invocará al destructor de la clase derivada.

Parámetros:
Key la clave que guarda cada nodo.
Compare el criterio de comparación entre las claves de los nodos.
Ver también:
GenBinTree BinTree DynBinTree

Definición en la línea 225 del archivo tpl_binTree.H.


Documentación de las funciones miembro

Node* insert ( Node *  p  )  [inline, inherited]

Inserta p en el árbol binario de búsqueda this.

Parámetros:
[in] p el nodo a insertar.
Devuelve:
puntero al nodo insertado si la clave de p no está contenida dentro del árbol; NULL de lo contrario.

Definición en la línea 124 del archivo tpl_binTree.H.

void join ( GenBinTree< NodeType, Key, Compare > &  tree,
GenBinTree< NodeType, Key, Compare > &  dup 
) [inline, inherited]

join(tree,dup) efectúa la unión de los árboles binarios de búsqueda this y tree. Las claves duplicadas de tree son colocadas en dup.

Parámetros:
[in,out] tree árbol a unir con this. Deviene vacío luego de la llamada.
[out] dup árbol binario de búsqueda donde colocar las claves repetidas.

Definición en la línea 180 del archivo tpl_binTree.H.

Node* remove ( const Key &  key  )  [inline, inherited]

busca en el árbol binario de búsqueda this root un nodo que contenga la clave key. Si el nodo es encontrado, entonces éste se substituye en el árbol binario general por el resultado de la unión exclusiva de los subárboles del nodo eliminado.

Parámetros:
[in] key clave del nodo a eliminar.
Devuelve:
puntero al nodo eliminado si la clave se encuentra en el árbol; NULL de lo contrario.

Definición en la línea 165 del archivo tpl_binTree.H.

Node* search ( const Key &  key  )  [inline, inherited]

search(key) busca en el árbol binario de búsqueda this por una ocurrencia de la clave key.

Parámetros:
[in] key la clave a buscar.
Devuelve:
un puntero al nodo contentivo de la clave key si ésta se encuentra dentro del árbol; NULL de lo contrario.

Definición en la línea 103 del archivo tpl_binTree.H.

bool split ( const Key &  key,
GenBinTree< NodeType, Key, Compare > &  l,
GenBinTree< NodeType, Key, Compare > &  r 
) [inline, inherited]

split(key,l,r) particiona, según la clave key, el árbol binario de búsqueda this en dos árboles l y r. Luego de la operación el árbol, el árbol root deviene vacío, l contiene todas las claves menores que key y r las mayores.

Parámetros:
[in] key clave de partición.
[out] l árbol con las claves menores que key.
[out] r árbol con las claves mayores que key.
Devuelve:
true si key no está dentro del árbol binario; en cuyo caso la partición fue realizada exitosamente. De lo contrario, si key se encuentra dentro del árbol, el árbol no se particiona y el resultado es false.

Definición en la línea 147 del archivo tpl_binTree.H.


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

Leandro R. León