En la ciencia de la computacin definimos un rbol como un conjunto de nodos y lneas. Un nodo es un elemento de informacin que reside en el rbol. Una lnea es un par de nodos ordenados <u,v>, y a la secuencia de lneas se le denomina ruta (path). Los arboles representan las estructuras no-lineales y dinmicas de datos ms importantes en computacin. Dinmicas, puesto que la estructura rbol puede cambiar durante la ejecucin de un programa. No lineales, puesto que a cada elemento del rbol pueden seguirle varios elementos Un rbol es un tipo especial de relacin que es muy til para el estudio de una gran variedad de aplicaciones en las ciencias de la computacin e ingeniera. Un rbol se representa como un grafo dirigido o no dirigido. Los rboles son muy usados en el estudio y construccin de base de datos, modelamiento jerrquico de clases y en la teora de lenguajes y construccin de compiladores, son muy usados para describir los arboles sintcticos correspondientes a gramticas de lenguajes. Este tipo de estructura es usual incluso fuera del campo de la informtica. El lector seguramente conoce casos como los rboles gramaticales para analizar oraciones, los rboles genealgicos, representacin de jerarquas, etc...La estructuracin en rbol de los elementos es fundamental dentro del campo de la informtica aplicndose en una amplia variedad de problemas. .
5
Caractersticas:
1. NODO indica un elemento, o tem, de informacin.
2. Todo rbol que no es vaco, tiene un nico nodo raz.
3. Un nodo X es descendiente directo de un nodo Y, si el nodo X es apuntado por el nodo Y, X es hijo de Y.
4. Un nodo X es antecesor directo de un nodo Y, si el nodo X apunta al nodo Y, X es padre de Y.
5. Se dice que todos los nodos que son descendientes directos (hijos) de un mismo nodo (padre), son hermanos.
6. Todo nodo que no tiene ramificaciones (hijos), se conoce con el nombre de terminal u hoja.
7. Todo nodo que no es raz, ni terminal u hoja se conoce con el nombre de interior.
8. Grado es el nmero de descendientes directos de un determinado nodo. Grado del rbol es el mximo grado de todos los nodos del rbol.
9. Nivel es el nmero de arcos que deben ser recorridos para llegar a un determinado nodo. Por definicin, la raz tiene nivel 1.
10. Altura del rbol es el mximo nmero de niveles de todos los nodos del rbol.
6
ARBOLES BINARIOS
Los rboles binarios son un conjunto finito de elementos (nodos) que bien est vaco o est formado por una raz con dos rboles binarios disjuntos, es decir, dos descendientes directos llamados subrbol izquierdo y subrbol derecho. Los rboles binarios (tambin llamados de grado 2) tienen una especial importancia. Las aplicaciones de los arboles binarios son muy variadas ya que se les puede utilizar para representar una estructura en la cual es posible tomar decisiones con dos opciones en distintos puntos.
7
Representacin:
8
Recorrido de rboles binarios:
Una de las operaciones ms importantes a realizar en un rbol binario es el recorrido de los mismos. Recorrer significa visitar los nodos del rbol en forma sistemtica; de tal manera que todos los nodos del mismo sean visitados una sola vez. Existen tres formas diferentes de efectuar el recorrido y todas ellas de naturaleza recursiva, stas son: Recorrido en preorden:
Visitar la raz. Recorrer el subrbol izquierdo. Recorrer el subrbol derecho.
Recorrido en inorden:
Recorrer el subrbol izquierdo. Visitar la raz. Recorrer el subrbol derecho.
Recorrido en postorden:
Recorrer el subrbol izquierdo. Recorrer el subrbol derecho. Visitar la raz. El termino visitar puede ser reemplazado por escribir la informacin el nodo.
9
Ejemplo:
ARBOLES BINARIOS DE BUSQUEDA
El rbol binario de bsqueda es una estructura sobre la cual se pueden realizar eficientemente las operaciones de bsqueda, insercin y eliminacin. Formalmente se define un rbol binario de bsqueda de la siguiente manera: Para todo nodo T del rbol debe cumplirse que todos los valores de los nodos del subrbol izquierdo de T deben ser menores o iguales al valor del nodo T. De forma similar, todos los valores de los nodos el subrbol derecho de T deben ser mayores o iguales al valor del nodo T. Un rbol binario de bsqueda(ABB) es un rbol binario con la propiedad de que todos los elementos almacenados en el subrbol izquierdo de cualquier nodo x son menores que el elemento almacenado en x ,y todos los elementos 10
almacenados en el subrbol derecho de x son mayores que el elemento almacenado en x. La figura 1 muestra dos ABB construidos en base al mismo conjunto de enteros: