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:
- obtenNodoIzquierdo regresa una referencia al hijo izquierdo de nd cuando se le envía el mensaje correspondiente al objeto p, es decir:
- obtenNodoDerecho regresa una referencia al hijo derecho de nd cuando se le envía el mensaje correspondiente al objeto p, es decir:
- estableceDato asigna un valor específico representado por d a nd cuando se le envía el mensaje correspondiente al objeto p, es decir:
- 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:
- La operación obtenPadre regresa una referencia al padre de nd.
- La operación obtenHermano regresa una referencia al hermano de nd.
- 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.
- 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.