next up previous contents
Siguiente: Aplicaciones de árboles binarios Subir: Árboles binarios Anterior: Árboles binarios   Índice General

Operaciones con árboles binarios

Con los árboles binarios es posible definir algunas operaciones primitivas, estas operaciones son en el sentido de saber la información de un nodo y sirven para desplazarse en el árbol, hacia arriba o hacia abajo.

info(p)
que devuelve el contenido del nodo apuntado por p.
left(p)
devuelve un apuntador al hijo izquierdo del nodo apuntado por p, o bien, devuelve NULL si el nodo apuntado por p es una hoja.
right(p)
devuelve un apuntador al hijo derecho del nodo apuntado por p, o bien, devuelve NULL si el nodo apuntado por p es una hoja.
father(p)
devuelve un apuntador al padre del nodo apuntado por p, o bien, devuelve NULL si el nodo apuntado por p es la raíz.
brother(p)
devuelve un apuntador al hermano del nodo apuntado por p, o bien, devuelve NULL si el nodo apuntado por p no tiene hermano.

Estas otras operaciones son lógicas, tienen que ver con la identidad de cada nodo:

isLeft(p)
devuelve el valor true si el nodo actual es el hijo izquierdo del nodo apuntado por p, y false en caso contrario.
isRight(p)
devuelve el valor true si el nodo actual es el hijo derecho del nodo apuntado por p, y false en caso contrario.
isBrother(p)
devuelve el valor true si el nodo actual es el hermano del nodo apuntado por p, y false en caso contrario.

Como ejemplo, un algoritmo para el procedimiento isLeft es como sigue:

q=father(p);
if(q==NULL)
  return(false) /* porque p apunta a la raiz */
if (left(q)==p)
   return(true);
return(false);

En la construcción de un árbol binario son útiles las operaciones makeTree, setLeft y setRight. La operación makeTree(x) crea un nuevo árbol binario que consta de un único nodo con un campo de información x y devuelve un apuntador a ese nodos. La operación setLeft(p,x) acepta un apuntador p a un nodo de árbol binario sin hijo izquierdo. Crea un nuevo hijo izquierdo de node(p) con el campo de información x. La operación setRight(p,x) es similar, excepto que crea un hijo derecho.


next up previous contents
Siguiente: Aplicaciones de árboles binarios Subir: Árboles binarios Anterior: Árboles binarios   Índice General
Abdiel Caceres-Gonzalez Jun-02-2005