Está en la página 1de 8

ESTRUCTURAS DE DATOS GRUPO 09

CAPITULO IV ESTRUCTURAS DE DATOS COMPUESTAS NO LINEALES. GRAFOS (GRFICAS).


1.- INTRODUCCIN. Para la solucin de problemas, sobre todo cuando estos se vuelven complejos, se vuelve necesario el modelarlos a travs de varias herramientas, una de ellas es precisamente mediante dibujos grfica, (para posteriormente poder analizarlas ) . Haciendo un poco de historia, se tiene el antecedente en el ao de 1736, cuando Leonhard Euler (1707-1783) plantea a travs de un grafo el problema de los puentes de Koningsberg, otro precursor es Sir W. R. Hamilton (1805-1865), con su dodecaedro (cuerpo de 12 caras), crea un juego donde cada una de sus esquinas representaba una ciudad del mundo y el juego consista en encontrar una ruta entre los bordes del dodecaedro pasando solamente una vez, por cada una de las veinte ciudades, y as podamos seguir hasta que ya en la segunda mitad de este siglo se le ha dado un gran impulso con autores como C. Berge, F. Haray, entre otros. Un grafo es una representacin que existe en un sistema dado, y para poder analizar este grafo, a travs de un equipo de cmputo, es necesario el poderla representar en su memoria. 2.-DEFINICION O CONCEPTO DE GRAFO O GRAFICA O DIAGRAMA. La forma ms conocida de representar un grafo es por medio de un dibujo donde tendremos los siguientes dos elementos: - los puntos, tambin llamados vrtices, nodos, unin - las lneas que unen a los puntos , conocidas como arcos, ramas elementos. Para representar en la memoria de una computadora al grafo G= (E,V), va a se necesario utilizar 2 conjuntos de elementos, uno para los arcos E=(e1, e2,....en) y otro para los vrtices V=(v1,v2,....vn) Como por ejemplo: V= (v1, v2, v3, v4, v5, v6, v7, v8) E=( e1, e2, e3, e4, e5, e6, e7, e8) donde poniendo los arcos en funcin de los vrtices terminales tendremos: E= ( <v2,v2>, <v2,v4>, <v1,v2>, <v1,v3>, <v1,v3>, <v3,v4>, <v4,v5>, <v5,v6>)
V8 V7 V e41 V 3 V4 E3 e2 V2 e1 e7 V6 FIGURA IV.1 e8 e6 e5 V5

3.- Elementos de un grafo. CICLO, LAZO O LOOP.

Cuando un arco tiene el mismo vrtice tanto como inicial, como final, se conoce como ciclo. Por ejemplo, en el grafo de la figura IV.1, el arco e1 es un ciclo, lazo o loop. ARCOS PARALELOS. Si se tiene que a ms de un arco se tengan los mismos vrtices terminales, se denominan arcos paralelos, como es el caso de los arcos e4 y e5 de la figura anterior. GRAFO SIMPLE Y MULTIGRAFO. Cuando un grafo contiene arcos paralelos y/o ciclos, se conoce como multigrfo, en tanto que si no contiene ni ciclos, ni arcos paralelos , se conoce como un grafo simple.

GRAFO SIMPLE

GRAFO FINITO E INFINITO. Cuando los conjuntos con los cuales se definen los grafos V y E tienen un nmero finito de elementos, se conoce como un grafo finito y en caso de que estos conjuntos tengan un nmero infinito de elementos se cono ce como grafos infinitos. ARCO DIRIGIDO Y NO DIRIGIDO. Cuando es necesario considerar de los nodos terminales de un arco cual es el inicial y cual es el final, se conoce como Arco Dirigido, como por ejemplo supongamos que estamos representando el flujo de agua en la tuberas, en donde solo puede circular en un solo sentido el agua, es donde es necesario considerar a esa tubera como un arco dirigido de un vrtice inicial, a un vrtice final. Cuando no es importante considerar el orden de los nodos terminales de un arco, se conoce como Arco no Dirigido, como por ejemplo, si estamos representando el sistema de carreteras donde estas sean de dos sentidos, es indistinto cual es el nodo origen cual es el nodo destino. GRAFO DIRIGIDO, NO DIRIGIDO Y MIXTO. Un grafo dirigido, es aquel donde todos sus arcos son dirigidos, en tanto que un grafo no dirigido es cuando todos sus arcos son no dirigidos. As tambin un grafo mixto es cuando puede contener tanto arcos no dirigidos como arcos dirigidos.

GRAFO DIRIGIDO

GRAFO NO DIRIGIDO

GRAFO NULO. Se tiene cuando el conjunto de arcos E esta vaco, pero debe de existir el conjunto de vrtices V, ya que de otro modo si ambos conjuntos estn vacos, no se tendra ningn grafo. GRAFO COMPLETO Es aquel que cada nodo tiene comunicacin directa con otros nodos.

GRAFO DE 1 NODO

GRAFO DE 2 NODOS

GRAFO DE 3 NODOS

GRAFO PESADO. Puede ser un grafo dirigido o no, y es cuando a los arcos se les asigna un valor, el cual puede ser por ejemplo una distancia. Y generalmente se representa ese valor peso en el mismo arco.
8 3 4 3 5

INCIDENCIA, ADYACENCIA Y GRADO DE UN NODO. Incidencia es un punto de encuentro de dos elementos, que para nuestro caso aplicado a los grafos, se dice que cuando un vrtice es un vrtice terminal de algn arco se conoce como incidentes de ambos elementos, por ejemplo el arco e3, e4 y e5, son incidente en el vrtice v1. Dos arcos no paralelos son adyacentes si inciden en el mismo vrtice, por ejemplo los arcos e2 y e7. El nmero de arcos que inciden en un nodo vrtice, se conoce como grado o valencia del nodo, por ejemplo el grado del nodo v2 es de 4, en tanto que el del nodo v1 es de 3. Cuando se trata de un grafo dirigido, se tienen dos tipos de grados, el interno y el externo. El grado interno de un nodo se considera como el nmero de arcos que llegan a l y el grado externo es el nmero de arcos que salen de l.

Grado interno 2 Grado externo 1

Grado3

Grado interno 2 Grado externo 1 Grado total = 2

VRTICE AISLADO. Es aquel vrtice cuyo grado es igual a cero, esto quiere decir que no tiene ningn arco que incida en l, por ejemplo en el grafo de la figura IV1 los vrtices v7 y v8 son vrtices aislados. VRTICE PNDULO O ULTIMO. Son aquellos vrtices cuyo grado es igual a uno, de nuestro grafo de ejemplo el vrtice v6 es un vrtice pndulo.

ARCOS EN SERIE. Dos arcos estn en serie si son adyacentes y su vrtice en comn es de grado 2, como por ejemplo los arcos e7 y e8 de la figura IV.1 estan en serie, ya que son adyacentes y el vrtice en el cual inciden v5 tiene un grado igual a 2. ISOMORFISMO.

Isomorfismo significa igualdad en cuanto a los componentes de dos elementos. Un grafo, se puede dibujar de mil formas y puede seguir siendo el mismo. Se dice que dos grafos son equivalentes o isomrficos, siempre y cuando tengan un comportamiento igual en cuanto a las caractersticas de la tora de grafos se refiere. Para que dos grafos sean isomorficos es condicin necesaria, pero no suficiente si cumple con las siguientes 3 caractersticas: - Tener el mismo nmero de vrtices. - El mismo nmero de arcos. - El total de la suma de todos los grados de todos los nodos se idntico. 1 3 1
=10

1 3 1 1 2 2 2 2
=10

TRAYECTORIA, CAMINOS (CADENA), PATRONES (CAMINO ABIERTO) Y CIRCUITO (CAMINO CERRADO). A un conjunto de arcos se llama trayectoria, la cual parte de un nodo inicial vi y llega a un nodo final vf, y la longuitud de la trayectoria es el nmero de arcos que intervienen en ella. Camino Cadena es una trayectoria finita, en otras palabras es una secuencia finita de vrtices y arcos que empiezan y terminan con un nodo, y que adems ningn arco aparece mas de una vez, no as los vrtices que si pueden aparecer mas una vez. Patrn Camino Abierto es una trayectoria, en la cual ni vrtices, ni arcos aparecen ms de una sola vez. Circuito Camino Cerrado, tambin es una trayectoria donde ningn vrtice a excepcin del inicial y del final aparecen mas de una vez. REPRESENTACIN DE GRAFOS EN LA MEMORIA DE UNA COMPUTADORA. Para representar un grafo en la memoria de una computadora, se utilizan diferentes tipos de matrices (las cuales fueron vistas su representacin en el capitulo 2), solo que dependiendo del grafo es posible que no puedan ser representadas por todas las que a continuacin se van a describir. MATRIZ DE INCIDENCIA. Si se tiene un grafo de n vrtices y m arcos, sin ciclos, se puede representar el grafo a travs de una matriz de orden n por m y cuyo contenido va a ser un 1 para el elemento aij si existe incidencia del arco j-simo con el vrtice i-simo, y ser de 0 si no existe ninguna incidencia. De la matriz de incidencia se pueden deducir los siguientes aspectos: - El nmero de unos que aparece en cada rengln representa el grado del vrtice correspondiente a ese vrtice (del rengln dado). - El nmero de unos de cada columna que son dos, indica con que vrtices es incidente el arco. - Cuando un vrtice es aislado, su rengln correspondiente en su matriz de adyacencia, contendr solo ceros.
V3 V6 g d V7 V5

e b V1

h V4

a f V2 c g

Figura 2 De la fig. 2 a b c d e f g h v1 v2 v3 v4 v5 v6 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 1 1 0 1 0 0 0 1 0 0 1 0 1 0 0 1 1 0 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0

MATRZ DE CIRCUITOS

MATRIZ DE CIRCUITOS Se tiene una matriz de n circuitos por m arcos (los cuales son los que se encuentran el circuito), y cuyo contenido va a ser un 1 para el elemento aij si es que el circuito del rengln ii contiene el arco j. y ser 0 si el arco de esa columna no este incluido en el rengln correspondiente. De la figura tenemos 4 circuitos con 8 columnas. a 0 0 0 1 b 0 0 0 1 c 0 1 1 0 d 1 0 1 0 e 0 1 1 0 f 1 0 1 0 g 1 1 1 0 h 0 0 0 0

Cto.1 Cto.2 Cto.3 Cto.4

Se observa de esta matriz de circuitos lo siguiente: - No todos los grafos pueden ser representados a travs de esta matriz, ya que existirn grafos donde no existan ciclos (por ejemplo los grafos simples). - Vamos a tener tantos renglones, como circuitos existan en el grafo, ya que cada rengln corresponde a un circuito. - Si en una columna todos sus elementos son cero, quiere decir que ese arco no corresponde a ningn circuito. - El nmero de unos en un rengln, indica cuantos arcos estn involucrados en ese circuito, MATRIZ DE ADYACENCIA. Es una matriz de orden n por n vrtices, esto quiere decir que es una matriz cuadrada y que adems es simtrica. y cuyos elementos van a tomar el valor de 1 para aij cuando exista un arco entra el vrtice ii y el vrtice j y ser de 0 cuando este arco no exista.
a b c e d

FIGURA 3

De la fig. 3 a b c d e a b c d e 1 1 1 0 1 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 -

MATRZ DE ADYACENCIA

1: si hay conexin directa 2: no hay conexin directa -: si es el mismo punto (no hay distancia)

FIGURA 4 De la fig. 4 A B C D E A B C D E 1 1 1 1 - 1 1 - 1 0 1 1 - 1 1 -

MATRZ DE ADYACENCIA

: No hay conexin directa


-: si es el mismo punto (no hay distancia) Encotrar la ruta ptima de A a D: 1ra. Ruta: ABD =1 + 1 = 2 2ra. Ruta: ACD =1 + 1 = 2 3ra. Ruta: ABED =1 + 1 + 1 = 2 De la matriz de Adyacencia se observan los siguientes puntos: - Solo es para grafos, sin arcos paralelos. - De lo anterior se deduce que los elementos de la diagonal principal son ceros. - No se consideran arcos paralelos tampoco. De la fig. 4 A B C D E A B C D E 1 1 2 2 1 2 1 1 1 2 2 2 1 1 - 1 2 1 - 1 2 1 -

MATRZ DE ADYACENCIA

ARBOLES. Un rbol es un grafo que tiene las siguientes caractersticas: - Es un grafo simple y finito. - Existe solo un patrn entre cada par de vrtices. - El nmero de vrtices n que contiene es igual a n-1 arcos. - La suma de los grados de todos los vrtices es 2(n-1), donde n es el nmero de vrtices del grafo. - Entre cualquier par de nodos existe slo una trayectoria. NIVELES DEL RBOL. Un rbol es como un rbol genealgico, en donde a cada generacin se le conoce como nivel. De todos los nodos que componen al rbol, existe uno que no tiene antecesor, que se llama raz, el cual para algunos autores es el nivel cero y para otros el nivel uno, tambin vale la pena mencionar, que el nivel de un nodo es igual al nivel de su antecesor ms uno. Los nodos que tienen descendientes, se les conoce como nodos padres y la los descendientes como nodos hijos, un nodo padre puede tener 0 varios descendientes, pero un nodo descendiente no puede tener mas que a un solo nodo padre. No existe ninguna relacin entre los nodos del mismo nivel, solo hacia sus descendientes o ascendentes. REPRESENTACIN DE ARBOLES. Un rbol se puede representar en forma grfica, de barras y de conjuntos.

a b c e e d b

d a
c

a b c d e

GRAFICA

CONJUNTOS

TABULA

RBOL DE KNUTH Y ESTRICTAMENTE BINARIO. Un rbol es binario de Knuth cuando puede tener cero, uno dos descendientes, y si slo puede tener cero dos descendientes se llama estrictamente binario.

RBOL BINARIO

ARBOLES ESTRICTAMENTE BINARIOS

BOSQUE. Es un conjunto de rboles, los cuales pueden ser transformados en un rbol de Knuth. RBOL LIBRE, ORIENTADO Y ORDENADO. En un rbol ordenado, es importante conservar siempre al nodo raz, as como el orden en que van apareciendo los subrboles en cada nivel del rbol, en tanto que en el rbol orientado no afecta en que orden vayan apareciendo los subarboles, solo que se mantenga la relacin padre e hijo y finalmente en un rbol libre no importa ni la precedencia de que nodo es padre, ni cual es hijo, ni el orden en que aparecen los subarboles. ALGORITMO PARA PASAR DE UN BOSQUE A UN RBOL DE KNUTH. -Primero unir las races de todos los rboles que componen al bosque, dejando la raz del que se encuentra ms a la izquierda como raz del nuevo rbol. - Unir a los nodos hermanos de cada padre. - Y finalmente retirar todas las ligas del nodo padre a sus nodos hijos, menos del que se encuentre ms a la izquierda. ALGORITMO PARA PASAR DE UN RBOL CUALQUIERA A UN RBOL ESTRICTAMENTE BINARIO (QUEDA COMO SUGERENCIA INVESTIGARLO).

RBOL BALANCEADO. Y RBOL COMPLETO. En los rboles estrictamente binarios, donde tenemos n nodos terminales y m que es la longitud de cualquiera de las trayectorias que va de la raz a alguno de los nodos terminales. Se dice que es balanceado completo cuando se cumple que: n = 2**m Y es parcialmente balanceado cuando se cumple : 2**m < n < 2**(m+1) y la longitud de la trayectoria es m y m+1