You are on page 1of 11

UNIDAD 6.

TEORA DE GRAFOS
6.1 Elementos y Caractersticas de los Grafos
La teora de grafos juega un papel importante en la fundamentacin matemtica de las ciencias de la computacin. Los grafos constituyen una herramienta bsica para modelizar fenmenos discretos y son fundamentales para la compresin de las estructuras de datos y el anlisis del algoritmo.

Definicin: Un grafo G = (N, A) consta de un conjunto de nodos N y un conjunto de aristas A, en donde a cada arista es un par no ordenado de nodos (vrtices o puntos). Una arista en general se representa por { a, b }. A las aristas tambin se le llaman segmentos. Una forma de representar grafos es mediante crculos para los nodos, conectados por lneas para las aristas. Ejemplo 1: El Grafo G que consta de los nodos N y segmentos S se denota como: G(N,S) donde: N = {n1, n2, n3, n4, n5, n6, n7, n8} A = {{n1, n2}, {n1, n5}, {n3, n4}, {n4, n7}, {n2, n6}, {n6, n2}}

1 3 5 7

4 6 8

zx Notacin: Una arista es un conjunto, pero puede haber dos aristas que conecte los mismos nodos, por lo que se le puede anteponer un nombre, por ejemplo la arista 1 puede nombrarse como a1= {n2, n6}, la arista 2 como a2= {n2, n6}, estas dos aristas unen los nodos n2 y n6. Tambin puede ser que en una arista importe el orden de los nodos por lo que podemos en este caso utilizar la notacin de par ordenado (n1, n2) cambiando las llaves por parntesis y orientando el sentido de la arista. La terminologa que manejaremos regularmente para el uso de grafos es el siguiente:

CAMINO. Es una secuencia alternada de vrtices y segmentos de la forma


Secuencia de vrtices V1,V2,V3,V4 o secuencia de segmentos S1,S2,S3. camino puede representarse como: 6,4,5,1,2 otro ejemplo es vlido: 3,2,5,4,6

V1,S1,V2,S2,V3,S3,V4.

Para la siguiente figura un El siguiente NO es un camino

6,5,3,1 pues no hay un segmento entre los nodos 6 y 5, ni entre 5 y 3, ni entre 3 y 1..

LONGITUD DE CAMINO. Es el nmero de segmentos en ese camino. Para el camino 6,4,5,1,2 la longitud
es 4 pues hay 4 segmentos.

SENDERO. Es un camino en el cual todos los segmentos son diferentes.

El camino 6,4,5,1,2 es un

sendero. El camino 6,4,5,2,5,1 no lo es pues un mismo segmento es recorrido 2 veces.

TRAYECTORIA. Es un camino en el cual todos los nodos son diferentes; as toda trayectoria debe ser un
sendero. El camino 6,4,5,1,2 es una trayectoria, el camino 6,4,5,2,3,4 no lo es pues se repite el nodo 4.

CAMINO SIMPLE. Es cuando todos sus vrtices, excepto tal vez el primero y el ltimo, son distintos. CICLO SIMPLE. Es un camino simple de longitud por lo menos de uno, que empieza y termina en el
mismo vrtice. El camino 4,5,2,3,4 es un ciclo.

Tipos de Grafos
Un Grafo Dirigido (tambin llamado Digrafo) es un grafo con una direcci[on asignada a cada segmento. Le llamamos arcos a los segmentos dirigidos y se escriben como un par ordenado de vrtices (v, w) donde V es el vrtice inicial y W es el vrtice terminal del arco. Un arco se expresa como: VW y se representa de la siguiente manera:

Los vrtices de un grafo pueden usarse para representar objetos. Los arcos se utilizan para representar relaciones entre objetos. Las aplicaciones ms importantes de los grafos dirigidos son las siguientes: Rutas entre ciudades. Determinar tiempos mximos y mnimos en un proceso flujo y control en un proceso. Flujo y control en un programa.

En los diagramas, las aristas dirigidas se muestran mediante flecha que tambin muestran las direcciones. En las figuras (b), (e) y (g) se presenta grficas dirigidas. Aqullas dadas en c y f son no dirigidas, mientras que la dada en d es mixta. La grfica dada en la figura a se podra considerar como dirigida y no dirigida. Ntese que la arista x1, x2 y x3 en la figura (e) estn asociadas con los pares ordenados (1,2), (2,3) y (3,1) respectivamente, mientras que las aristas x1, x2 y x3 en f estn con los pares no ordenados {1,2}, {2,3} y {3,1} respectivamente en la figura f el nodo 1 es adyacente a los nodos 2 y 3.

Vrtice Adyacente. Un nodo o vrtice V es adyacente al nodo W si existe y un segmento de V a W. Para el grafo siguiente, el nodo 2 es adyacente al 1, al 5 y al 3 pues hay un segmento que los une.

Grado de un nodo: Llamaremos grado de un vrtice al nmero de aristas de las que es extremo. Se dice que un vrtice es par o impar segn lo sea su grado. Para el grafo anterior el nodo 5 tiene grado 3.

En un grafo dirigido, para cualquier nodo v el nmero de aristas que tienen a v como su nodo inicial, se llama grado de salida del nodo v. el nmero de aristas que tiene a v como su nodo terminal se llama grado de entrada de v, y la suma de los grados de entrada y salida de un nodo v se llama grado total. Para el siguiente grafo dirigido, el nodo B tiene grado de llegada 2 , grado de salida 1 y grado total =3.

Cualquier grafo que contenga segmentos mltiples (segmentos que conectan las mismas terminales, es decir que el nodo inicial y el nodo final son iguales para cada segmento) y/o lazos (segmento cuyas terminales son el mismo nodo, es decir, el segmento sale de un nodo para entrar a l mismo) se llama multigrafo. Si no hay ms de una arista entre un par de nodos (no ms de una arista dirigida en el caso de grafos dirigidos) ni lazos entonces un grafo se le llama grafo simple. La siguiente figura muestra un multgrafo pues tiene un lazo (en azul) y 3 segmentos mltiples (aquellos en rojo, 2 nodos conectados por 3 segmentos)

Un grafo en que se asignan peso a cada arista se llama grafo ponderado. En el ejemplo que se muestra puede observarse que los segmentos tienen un peso asignado, por ejemplo S={A,B} tiene el valor de 7.

En un grafo un nodo que no es adyacente a cualquier otro nodo se llama nodo aislado. es un nodo aislado pues no es adyacente (no est conectado con) ningn otro nodo.

Por ejemplo, el siguiente

Un grafo que solo contenga nodos aislados se llama grafo nulo.

Es posible obtener diversidad de diagramas al localizar los nodos en un nmero arbitrario de posiciones diferentes y tambin al mostrar las aristas como arcos o lneas de diferentes formas. A causa de esta arbitrariedad puede suceder que dos diagramas que se vean por completo diferentes uno del otro pueden representar el mismo grafo. Dos grafos son isomorfos si existe una correspondencia uno a uno entre los nodos de las grficas que conserve la adyacencia de los nodos, as como la direccin de las aristas, si las hay.

Grafo G

Grafo H

Un isomorfismo entre G y H f(a) = 1 f(b) = 6 f(c) = 8 f(d) = 3 f(g) = 5 f(h) = 2 f(i) = 4 f(j) = 7

Grafo conexo. Un grafo G es conexo, si y solo si existe un camino simple en cualquiera dos nodos de G.
El grafo no conexo (o inconexo) que se muestra a continuacin presenta a los nodos 4 y 5 separados del resto del grafo, no hay un camino del nodo 4 al 2, ni del 5 al 1.

En la siguiente figura se muestra un grafo conexo (el de la derecha) y un grafo inconexo (el de la izquierda pues no hay trayectoria entre E o F y el resto de los nodos)

Grafos completos: Un grafo es completo si cada nodo esta conectado a otro nodo. Al grafo completo de n
nodos se le denota Kn. La figura siguiente muestra los grafos K1, K2,..K6. Al grafo K1, un nodo aislado, se le llama grafo trivial.

Grafo regular: Aquel con el mismo grado en todos los vrtices. Si ese grado es k lo llamaremos k-regular. Los
siguientes son grafos 0-regular, 1-regular, 2-regular.

Grafo Bipartito: Es aquel grafo con cuyos vrtices pueden formarse dos conjuntos disjuntos de modo que no
haya adyacencias entre vrtices pertenecientes al mismo conjunto. Los nodos se pueden particionar en dos subconjuntos P y Q tales que cada segmento del grafo conecta un nodo de P con un nodo de Q. Un grafo bitartito completo significa que cada nodo de P est conectado con cada nodo de Q. A este grafo se le denota como Kp,q en donde p es el nmero de nodos de P y q es el nmero de nodos de Q. La siguiente figura muestra los grafos K2,3 , K3,3 y K2,4

Grafo Nulo: Se dice que un grafo es nulo cuando los vrtices que lo componen no estn conectados, esto es,
que son vrtices aislados.

6.2 Representacin de los grafos


En computacin, los grafos suelen representarse mediante una matriz. Existen diferente formas de representacin matricial:

Matriz de Adyacencias: La matriz de adyacencia es una matriz cuadrada que se utiliza como una forma de
representar relaciones binarias. Construccin de la matriz a partir de un grafo Se crea una matriz cero, cuyas columnas y filas representan los nodos del grafo. Por cada arista que une a dos nodos, se suma 1 al valor que hay actualmente en la ubicacin correspondiente de la matriz.

Si tal arista es un bucle y el grafo es no dirigido, entonces se suman 2 en vez de 1. Finalmente, se obtiene una matriz que representa el nmero de aristas (relaciones) entre cada par de nodos (elementos).

Existe una matriz de adyacencia nica para cada grafo y viceversa. Ejemplo :

La matriz de adyacencia para el grafo de la figura viene dada por:

Para un grafo no dirigido la matriz de adyacencia es simtrica.

Matriz de Incidencias
La matriz de incidencia es una matriz binaria (sus elementos slo pueden ser unos o ceros), que se utiliza como una forma de representar relaciones binarias.

Relacin binaria descrita mediante una matriz de incidencia, y mediante un grafo

1.
2. 3.

Las columnas de la matriz representan las aristas del grafo. Las filas representan a los distintos nodos. Por cada nodo unido por una arista, ponemos un uno (1) en el lugar correspondiente, y llenamos el

resto de las ubicaciones con ceros (0).

En el ejemplo de la figura, si sumamos las cantidades de 1's que hay en cada columna, veremos que hay solo dos. Pero si sumamos las cantidades de unos 1's que hay por cada fila, comprobaremos que los nodos 2, 4 y 5 poseen un valor de 3. Ese valor indica la cantidad de aristas que inciden sobre el nodo.

6.4 rboles
Un rbol es una estructura jerrquica aplicada sobre una coleccin de elementos u objetos llamados nodos; uno de los cuales es conocido como raz. Adems se crea una relacin o parentesco entre los nodos dando lugar a trminos como padre, hijo, hermano, antecesor, sucesor, ancestro, etc Formalmente se define un rbol de tipo T como una estructura homognea que es la concatenacin de un elemento de tipo T junto con un nmero finito de rboles disjuntos, llamados subrboles.

Una forma particular de rbol puede ser la estructura vaca. Un rbol es un grafo simple en el cual existe un nico camino entre cada par de vrtices. Los rboles representan las estructuras no lineales y dinmicas de datos ms importantes en computacin.

Grafo rbol: Un rbol se define como un tipo de grafo que no contiene ciclos, es decir es un grafo acclico,
pero a su vez es conexo. Tal es el caso de los siguientes grafos en donde se puede notar que ninguno contiene repeticiones (ciclos).

Un grafo rbol cumple con lo siguiente: a) Cada pareja de nodos est conectada por exactamente una trayectoria b) Es conexo, pero si se quita cualquiera de sus segmentos el grafo resultante es inconexo c) Es libre de ciclos, pero si se le agrega al grafo cualquier segmento el grafo resultante tiene exactamente un ciclo.

d) Es libre de ciclos y tiene n-1 segmentos e) Es conexo y tiene n-1 segmentos. 8

f)

Un rbol finito no trivial tiene al menos dos nodos colgantes (nodos de grado 1)

g) En un rbol no trivial, cada nodo es colgante o es un punto de corte.

Terminologa
La terminologa que por lo regular se utiliza para el manejo de rboles es la siguiente: Hijo: X es hijo de Y, s y solo s el nodo X es apuntado por Y. Tambin se dice que X es descendiente directo de Y. Padre: X es padre de Y s y solo s el nodo X apunta a Y. Tambin se dice que X es antecesor de Y. Hermano: Dos nodos sern hermanos si son descendientes directos de un mismo nodo. Hoja: Se le llama hoja o terminal a aquellos nodos que no tienen ramificaciones (hijos). Grado: Es el nmero de descendientes directos de un determinado nodo. Grado de un rbol: Es el mximo grado de todos los nodos del rbol. Nivel: Es el nmero de arcos que deben ser recorridos para llegar a un determinado nodo. Por definicin la raz tiene nivel 1. Altura: Es el mximo nmero de niveles de todos los nodos del rbol. Peso: Es el nmero de nodos del rbol sin contar la raz. Longitud de camino: Es el nmero de arcos que deben ser recorridos para llegar desde la raz al nodo X. Por definicin la raz tiene longitud de camino 1, y sus descendientes directos longitud de camino 2 y as sucesivamente.

En computacin un tipo de rbol muy importante es el rbol binario. A continuacin algunas definiciones:

Se le conoce como rbol binario a una estructura en la cual cada nodo siempre tiene un hijo izquierdo y un hijo derecho. No pueden tener ms de dos hijos (de ah el nombre "binario") . Un rbol binario es un rbol con raz en el que cada nodo tiene como mximo dos hijos. Un rbol binario es un rbol en el que ningn nodo puede tener ms 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.

Un rbol binario lleno es un rbol en el que cada nodo tiene cero o dos hijos. Un rbol binario perfecto es un rbol binario lleno en el que todas las hojas (vrtices con cero hijos)
estn a la misma profundidad (distancia desde la raz, tambin llamada altura). A veces un rbol binario perfecto es denominado rbol binario completo.

rbol binario de bsqueda. Los rboles binarios se utilizan frecuentemente para representar conjuntos
de datos cuyos elementos se identifican por una clave nica. Si el rbol est organizado de tal manera que la clave de cada nodo es mayor que todas las claves su subarbol izquierdo, y menor que todas las claves del subarbol derecho se dice que este rbol es un rbol binario de bsqueda. A continuacin se muestra un ejemplo:

Recorridos de un rbol:
Al visitar los nodos de un rbol existen algunas maneras tiles en las que se pueden ordenar sistemticamente los nodos de un rbol. Los ordenamientos ms importantes son llamados: preorden, post-orden y en-orden y se definen recursivamente como sigue: Recorridos en PRE-ORDEN: Visitar el raz Recorrer el subrbol izquierdo en pre-orden Recorrer el subrbol derecho en pre-orden

Recorrido EN-ORDEN: Visitar el raz Recorrer el subrbol izquierdo en -orden Recorrer el subrbol derecho en orden

Recorrido en POST-ORDEN: Visitar el raz Recorrer el subrbol izquierdo en post-orden Recorrer el subrbol derecho en post-orden

Ejemplos de rboles binarios de bsqueda y sus recorridos:

10

El recorrido en Pre Orden del rbol es el siguiente: 15, 6, 4, 10, 20, 17, 22 El recorrido en En Orden del rbol es el siguiente: 4, 6, 10, 15, 17, 20, 22 El recorrido en Post Orden del rbol es el siguiente: 4, 10, 6, 17, 22, 20,15

Pre Orden (RID) 18, 12, 5, 9, 28, 20, 35 En Orden (IRD) 5, 9, 12, 18, 20, 28, 35 Post Orden (IDR) 9, 5, 12, 20, 35, 28, 18

Preorden = [15, 9, 6, 14, 13, 20, 17, 64, 26, 72]. Inorden = [6, 9, 13, 14, 15, 17, 20, 26, 64, 72]. Postorden =[6, 13, 14, 9, 17, 26, 72, 64, 20, 15]

11

You might also like