22 de mayo de 2017

Árboles binarios (operaciones primitivas).

   Respecto a las operaciones primitivas para un árbol binario considere lo siguiente:
Sea p una referencia a un nodo cualquiera (nd) de un árbol binario. Se definen las siguientes operaciones primitivas sobre dicho árbol:
  • obtenDato regresa el contenido (datos) de nd cuando se le envía el mensaje correspondiente al objeto p, es decir:
    • p.obtenDato( ).
  • obtenNodoIzquierdo regresa una referencia al hijo izquierdo de nd cuando se le envía el mensaje correspondiente al objeto p, es decir:
    • p.obtenNodoIzquierdo( ).
  • obtenNodoDerecho regresa una referencia al hijo derecho de nd cuando se le envía el mensaje correspondiente al objeto p, es decir:
    • p.obtenNodoDerecho( ).
  • estableceDato asigna un valor específico representado por d a nd cuando se le envía el mensaje correspondiente al objeto p, es decir:
    • p.estableceDato(d).
  • estableceNodoIzquierdo asigna un nodo representado por n, como hijo izquierdo de nd cuando se le envía el mensaje respectivo al objeto p, es decir:
    • p.estableceNodoIzquierdo(n).
  • estableceNodoDerecho asigna un nodo representado por n, como hijo derecho de nd cuando se le envía el mensaje respectivo al objeto p, es decir:
    • p.estableceNodoDerecho(n).
   Por otro lado y siguiendo las consideraciones planteadas con anterioridad, algunas otras operaciones que podrían ser útiles en la implementación de un árbol binario, son las siguientes:
  1. La operación obtenPadre regresa una referencia al padre de nd.
  2. La operación obtenHermano regresa una referencia al hermano de nd.
  3. La operación esIzquierdo regresa true si nd es un hijo izquierdo de algún otro nodo en el árbol binario, y false en caso contrario.
  4. La operación esDerecho regresa true si nd es un hijo derecho de algún otro nodo en el árbol binario, y false en caso contrario.
   Dichas operaciones no son las únicas posibles; sin embargo, son deseables como los servicios adicionales que podría proporcionar un árbol binario.