12
Alumno : Víctor Hugo Orellana Jaque Análisis de Algoritmos Sección 112 Profesora : Sra. Pilar Pardo Hidalgo 26-junio-2014

Cátedra de Grafos

Embed Size (px)

Citation preview

Page 1: Cátedra de Grafos

Alumno : Víctor Hugo Orellana Jaque!Análisis de Algoritmos Sección 112!Profesora : Sra. Pilar Pardo Hidalgo!

26-junio-2014!

Page 2: Cátedra de Grafos

¿Qué es un grafo?!Un grafo es un conjunto de nodos o vértices (V) y un conjunto de aristas (E) , donde cada arista relaciona a un par de nodos pertenecientes a V. (Tal como en un poliedro, donde una arista relaciona a dos vértices)! Algebraicamente, los grafos se representan así : G=(V,E)! Dos tipos de grafos existen : Dirigidos y No Dirigidos!

Page 3: Cátedra de Grafos

Grafos Dirigidos!Ø Un grafo dirigido consiste de un conjunto V de

vértices y un conjunto E al conjunto de aristas del grafo.!

Ø Los vértices de un grafo dirigido pueden usarse para representar objetos y los enlaces relaciones entre objetos. La èindica en qué dirección se recorre el grafo.!

Ø Un enlace es un par ordenado de vértices (a,b) donde : !

b  a  

cola   cabeza  

Page 4: Cátedra de Grafos

Grafos No Dirigidos!u Sea G un grafo no dirigido, donde

G=(V,E) y V es el conjunto de vértices y E el conjunto de aristas del grafo.!

u A diferencia de un grafo dirigido, en este tipo de grafos cada arista en E es un par no ordenado de vértices. La siguiente situación sucede :!

(a,b)=(b,a)!

!

a   b  

Page 5: Cátedra de Grafos

Costos!•  Los enlaces tanto para los grafos no

dirigidos como para los dirigidos tienen un costo, o valor, por lo tanto son grafos etiquetados. !

•  Los valores se etiquetan en la arista.!

Page 6: Cátedra de Grafos

Representación de los Grafos!

!•  Un grafo dirigido o no dirigido puede ser

representado mediante:!a)  Matriz de Adyacencia!b)  Lista de Adyacencia!c)  Arreglos para la Lista de Adyacencia!

Page 7: Cátedra de Grafos

Matriz Adyacente!

•  La matriz adyacente A de un grafo G=(V,E) tiene V*V elementos y se define como:!

a(i,j)  =        1  si    (i,j)  ∈  E                                                              0  en  otro  caso     Considerando “i” a las filas y “j” a las columnas.!

Page 8: Cátedra de Grafos

Ventajas y Desventajas : Matriz de Adyacencia!

Ventajas   Desventajas  

Se  puede  determinar  en  un  2empo  fijo  y  constante  si  un  enlace  pertenece  o  no  al  grafo.  

Se  requiere  almacenamiento  |v*v|  .  O  sea  O(n2).  

Es  fácil  determinar  si  existe  o  no  un  arco  o  enlace,  sólo  se  debe  posicionar  en  la  matriz.  

Sólo  al  leer  o  examinar  la  matriz  puede  llevar  un  2empo  de  sea  O(n2)  ,  siendo  por  ende,  demoroso.  

Es  fácil  determinar  si  existe  un  ciclo  en  el  grafo,  para  eso  se  debe  mul2plicar  la  matriz  por  ella  misma  “n”  veces  hasta  obtener  una  matriz  nula  (Matriz  solo  con  valores  0)  o  bien,  una  sucesión  periódica  de  matrices  (hay  ciclo)  

Page 9: Cátedra de Grafos

Lista Adyacente!

v La lista adyacente para un vértice “v” es una lista enlazada de todos los vértices “w” , adyacentes a “v”. Un grafo puede ser representado por |v| listas de adyacencia, una para cada vértice.!

v La lista de adyacencia depende de a qué vértices pueda recorrer al vértice adyacente !

Page 10: Cátedra de Grafos

Ventajas y Desventajas : Listas de Adyacencia!

Ventajas   Desventajas  

La  lista  de  adyacencia  requiere  un  espacio  proporcional  a  la  suma  del  número  de  vér2ces  más  el  número  de  enlaces.  U2iza  de  buena  manera  la  memoria  

La  representación  con  lista  de  adyacencia  puede  llevar  un  2empo  O(n)  determinar  si  existe  un  arco  del  vér2ce  i  al  vér2ce  j,  debido  a  que  pueden  haber  O(n)  vér2ces  en  la  lista  de  adyacencia  para  el  vér2ce  indicado.  

Se  usa  bastante  cuando  el  número  de  enlaces  es  mucho  menor  que  O(n2)  

Page 11: Cátedra de Grafos

Arreglos para la lista de Adyacencia!

v Se utilizan arreglos para implementar la lista de adyacencia en este caso!

Page 12: Cátedra de Grafos

F I N

Gracias por su atención!