Sei sulla pagina 1di 19

rboles y rboles Binarios

Aux. Mynor Marcos

Estructuras de Datos A - Aux. Mynor Marcos

rbol
Un rbol consta de un conjunto finito de elementos, llamados nodos y de un conjunto finito de lneas dirigidas, denominadas ramas, que conectan los nodos. El nmero de ramas asociado con un nodo es el grado del nodo. Un rbol es un conjunto de uno o ms nodos tales que:
Hay un nodo diseado especialmente llamado raz. Los nodos restantes se dividen en 0 conjuntos disjuntos, 1 , tal que cada uno de estos conjuntos es un rbol. A estos rboles se les denomina subrboles.

Estructuras de Datos A - Aux. Mynor Marcos

Terminologa
Adems del nodo raz, existen muchos trminos utilizados en la descripcin de los atributos de un rbol. Utilizando el concepto de rboles genealgicos, un nodo puede ser considerado como padre si tiene nodos sucesores.
Estos nodos sucesores se llaman hijos. Los hijos de un nodo y los hijos de estos hijos se llaman descendientes, y el padre y los abuelos de un nodo son sus ascendientes. Cada nodo raz tiene un nico padre y cada padre tiene cero o ms hijos. Dos o ms nodos con el mismo padre se llaman hermanos. Un nodo sin hijos es llamado hoja. El nivel de un nodo es su distancia al nodo raz. La raz tiene una distancia cero de s misma, por ello se dice que est en el nivel 0. Una de las cosas que se puede ver con los niveles es la relacin entre estos y los hermanos. Los hermanos siempre estn al mismo nivel, pero no todos los nodos del mismo nivel son necesariamente hermanos.

Estructuras de Datos A - Aux. Mynor Marcos

Niveles

Estructuras de Datos A - Aux. Mynor Marcos

Terminologa
Un camino es una secuencia de nodos en los que cada nodo es adyacente al siguiente. Cada nodo del rbol puede ser alcanzado siguiendo un nico camino que comienza en el nodo raz.
La altura o profundidad de un rbol es el nivel de la hoja del camino ms largo desde la raz ms uno. Por definicin, la altura de un rbol vaco es 0. Un rbol se divide en subrboles. Un subrbol es cualquier estructura conectada por debajo del nodo raz. Cada nodo de un rbol es la raz de un subrbol que se define por el nodo y todos su descendientes.

Estructuras de Datos A - Aux. Mynor Marcos

Estructuras de Datos A - Aux. Mynor Marcos

Definicin recursiva
El concepto de subrbol conduce a una definicin recursiva de un rbol. Un rbol es un conjunto de nodos que:
Es vaco O tiene un nodo determinado, llamado raz, del que jerrquicamente descienden cero o ms subrboles, que son tambin rboles.

Estructuras de Datos A - Aux. Mynor Marcos

Representacin grfica

Estructuras de Datos A - Aux. Mynor Marcos

Representacin grfica
Representacin en niveles

Estructuras de Datos A - Aux. Mynor Marcos

Representacin de lista
Es un formato utilizado para representar un rbol es una lista entre parntesis. Esta es la notacin utilizada con expresiones algebraicas. En esta representacin, cada parntesis abierto indica el comienzo de un nuevo nivel y cada parntesis cerrado completa un nivel y se mueve hacia arriba un nivel en el rbol.

Estructuras de Datos A - Aux. Mynor Marcos

10

Arboles Binarios
Un rbol binario es un rbol cuyos nodos no pueden tener ms de dos subrboles. En un rbol binario, cada nodo puede tener cero, uno o dos hijos.
Un rbol binario es una estructura recursiva. Cada nodo es la raz de su propio subrbol y tiene hijos, que son races de rboles. En cualquier nivel n, un rbol binario puede contener de 1 a 2 nodos. El nmero de nodos por nivel contribuye a la densidad del rbol.

Estructuras de Datos A - Aux. Mynor Marcos

11

Equilibrio
La distancia de un nodo a la raz determina la eficiencia con la que puede ser localizado.
Para calcular si un rbol est equilibrado (o balanceado) se debe calcular el factor de equilibrio. El factor de equilibrio es la diferencia en altura entre los subrboles derecho e izquierdo. Se determina por la frmula: = . Un rbol est perfectamente equilibrado si su equilibrio o balance es cero y sus subrboles tambin estn perfectamente equilibrados. Debido a que eso ocurre raramente, se dice que un rbol est equilibrado si la altura de sus subrboles difiere en no ms de uno y sus subrboles son tambin equilibrados.

Estructuras de Datos A - Aux. Mynor Marcos

12

rbol equilibrado
Un rbol est equilibrado cuando, dado un nmero mximo k de hijos de cada nodo y la altura del rbol h, cada nodo de nivel < tiene exactamente k hijos. El rbol est equilibrado perfectamente si cada nodo de nivel < tiene exactamente k hijos.

Estructuras de Datos A - Aux. Mynor Marcos

13

rboles binarios completos


Un rbol binario completo de profundidad n es un rbol en el que para cada nivel, hay un conjunto lleno de nodos, y todos los nodos hoja a nivel n ocupan las posiciones ms a la izquierda del rbol.
Un rbol binario completo que contiene 2 nodos a nivel n es un rbol lleno. Es un rbol binario que tiene el mximo nmero de entradas para su altura. Un rbol degenerado, es el que tiene un solo nodo hoja y cada nodo no hoja solo tiene un hijo. Es equivalente a una lista enlazada.

Estructuras de Datos A - Aux. Mynor Marcos

14

rboles binarios completos

Estructuras de Datos A - Aux. Mynor Marcos

15

Operaciones en rboles binarios


Determinar su altura
Determinar su nmero de elementos Hacer una copia Visualizar el rbol binario Determinar si dos rboles son idnticos Borrar

Estructuras de Datos A - Aux. Mynor Marcos

16

Recorrido de un rbol
Para visualizar o consultar los datos almacenados en un rbol se necesita recorrer el rbol o visitar los nodos del mismo. Al contrario que las listas enlazadas, los rboles binarios no tienen realmente una secuencia de valores. El recorrido de un rbol binario requiere que cada nodo del rbol sea procesado una vez, y solo una, en una secuencia predeterminada. Existen dos enfoques generales para la secuencia de recorrido, profundidad y anchura.

Estructuras de Datos A - Aux. Mynor Marcos

17

Recorrido de un rbol
En el recorrido en profundidad, el proceso exige un camino desde la raz a travs de un hijo, al descendiente ms lejano antes de proseguir a un segundo hijo. En otras palabras, en el recorrido en profundidad, todos los descendientes de un hijo se procesan antes que el siguiente hijo.
En el recorrido en anchura, el proceso se realiza horizontalmente desde la raz a todos sus hijos; a continuacin, a los hijos de sus hijos y as sucesivamente hasta que todos los nodos han sido procesados. En el recorrido en anchura, cada nivel se procesa toralmente antes que comience el siguiente nivel.

Estructuras de Datos A - Aux. Mynor Marcos

18

Estructuras de Datos A - Aux. Mynor Marcos

19

Potrebbero piacerti anche