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

Árbol binario de búsqueda. Más...

Diagrama de herencias de GenBinTree

Inheritance 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<template< typename > class NodeType, typename Key, class Compare>
class Aleph::GenBinTree< NodeType, Key, Compare >

La clase GenBinTree instrumenta un árbol binario de búsqueda clásico.

Esta clase no está destinada a uso público. Su fin es proveer la funcionalidad básica a las clases BinTree, BinHeapVtl y DynBinHeap.

Parámetros:
NodeType el tipo de nodo que usa el árbol binario; éste será con o sin destructor virtual.
Key la clave que guarda cada nodo.
Compare el criterio de comparación entre las claves de los nodos.
Ver también:
BinTree BinTreeVtl DynBinTree

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


Documentación de las funciones miembro

Node* insert ( Node *  p  )  [inline]

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]

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]

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]

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]

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