Está en la página 1de 21

Estructuras no lineales

Autor: Anglica Nicols Gonzlez anicolas_gonzalez@hotmail.com

4.1 rboles. 4.1.1 Definicin. 4.1.2 Representacin en memoria de rboles. 4.1.2.1 rboles generales. 4.1.2.2 rboles binarios. 4.1.3 Recorridos en un rbol binario. 4.1.3.1 Preorden. 4.1.3.2 Inorden. 4.1.3.3 Postorden. 4.1.4 Balanceo de rboles binarios. 4.1.5 Clases para la implementacin de rboles. 4.2 Grafos. 4.2.1 Definicin. 4.2.2 Tipos de grafos. 4.2.3 Representacin de grafos en memoria. 4.2.4 Clases para la implementacin de grafos.

Definicin

rbol
Un rbol es una estructura no lineal en la que cada nodo puede apuntar a uno o varios nodos. Tambin se suele dar una definicin recursiva: un rbol es una estructura en compuesta por un dato y varios rboles. Esto son definiciones simples. Pero las caractersticas que implican no lo son tanto.

* Nodo hijo: cualquiera de los nodos apuntados por uno de los nodos del rbol. En el ejemplo, 'L' y 'M' son hijos de 'G'.
* Nodo padre: nodo que contiene un puntero al nodo actual. En el ejemplo, el nodo 'A' es padre de 'B', 'C' y 'D'.

En cuanto a la posicin dentro del rbol: Nodo raz: nodo que no tiene padre. Este es el nodo que usaremos para referirnos al rbol. En el ejemplo, ese nodo es el 'A'. Nodo hoja: nodo que no tiene hijos. En el ejemplo hay varios: 'F', 'H', 'I', 'K', 'L', 'M', 'N' y 'O'. Nodo rama: aunque esta definicin apenas la usaremos, estos son los nodos que no pertenecen a ninguna de las dos categoras anteriores. En el ejemplo: 'B', 'C', 'D', 'E', 'G' y 'J'.

Un rbol en el que en cada nodo o bien todos o ninguno de los hijos existe, se llama rbol completo.

caractersticas del rbol, en relacin a su tamao

Orden: es el nmero potencial de hijos que puede tener cada elemento de rbol. De este modo, diremos que un rbol en el que cada nodo puede apuntar a otros dos es de orden dos, si puede apuntar a tres ser de orden tres, etc.

Grado: el nmero de hijos que tiene el elemento con ms hijos dentro del rbol. En el rbol del ejemplo, el grado es tres, ya que tanto 'A' como 'D' tienen tres hijos, y no existen elementos con ms de tres hijos.

Nivel: se define para cada elemento del rbol como la distancia a la raz, medida en nodos. El nivel de la raz es cero y el de sus hijos uno. As sucesivamente. En el ejemplo, el nodo 'D' tiene nivel 1, el nodo 'G' tiene nivel 2, y el nodo 'N', nivel 3. Altura: la altura de un rbol se define como el nivel del nodo de mayor nivel. Como cada nodo de un rbol puede considerarse a su vez como la raz de un rbol, tambin podemos hablar de altura de ramas. El rbol del ejemplo tiene altura 3, la rama 'B' tiene altura 2, la rama 'G' tiene altura 1, la 'H' cero, etc.

rboles generales
Intuitivamente el concepto de rbol implica una estructura en la que los datos se organizan de modo que los elementos de informacin estn relacionados entre si a travs de ramas. El rbol genealgico es el ejemplo tpico ms representativo del concepto de rbol general.

rboles binarios
Es un rbol en el que ningn nodo puede tener mas de dos subrboles. En un rbol binario, cada nodo puede tener cero, uno o dos hijos (subrboles). Se conoce el nodo de la izquierda como hijo izquierdo y el nodo de la derecha como hijo derecho.

Operaciones en rboles binarios


Determinar su altura Determinar su nmero de elementos Hacer una copia Visualizar el rbol binario en pantalla o en impresora Determinar si dos rboles binarios son idnticos Borrar (eliminar el rbol) Si es un rbol de expresin, evaluar la expresin Si es un rbol de expresin, obtener la forma de parntesis de la expresin.

Recorridos de un rbol binario


Recorrido. Requiere que cada nodo del rbol sea procesado (visitado) una vez y slo en una secuencia predeterminada. Existen dos enfoques generales para la secuencia de recorrido, profundidad y anchura.

Recorrido en profundidad
El proceso exige un camino desde la raz a travs de un hijo, al descendiente ms lejano del primer hijo antes de proseguir a un segundo hijo. En otras palabras, en el recorrido en profundidad, todos los descendientes de un hijo se procesan antes del siguiente hijo.

Recorrido en anchura
El proceso se realiza horizontalmente desde el 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 otras palabras, en el recorrido en anchura cada nivel se procesa totalmente antes que comience el siguiente nivel.

Preorden (NID)
Este recorrido conlleva los siguientes pasos: Recorrer la raz (N) Recorrer el subrbol izquierdo (I) Recorrer el subrbol derecho (D) REGLA. La raz se procesa antes que los subrboles izquierdo y derecho.

Inorden (IND)
Recorrer el subrbol izquierdo (I) Visitar el nodo raz (N) Recorrer el subrbol derecho (D)

El significado in es que la raz se procesa entre los subrboles.

Postorden (IDN)
Recorrer el subrbol izquierdo (I) Recorrer el subrbol derecho (D) Recorrer la raz (N)

Se comienza situndose en la hoja mas izquierda

Balanceo de rboles binarios


Para determinar si un rbol esta equilibrado, se calcula su factor de equilibrio. El factor de equilibrio de un rbol binario es la diferencia en altura entre los subrboles izquierdo y derecho. Si definimos la altura del subrbol izquierdo como H1 y la altura del subrbol derecho como HD, entonces el factor de equilibrio del rbol B se determina por la siguiente formula. B= H1 - HD

grafos
*Tarea*

Fin de la presentacin