1 / 14

Análisis de Algoritmo

Análisis de Algoritmo. Cecilia Laborde González Cecilia.laborde.g@gmail.com. Objetivos de la Clase. Conocer y comprender el funcionamiento de los grafos. ¿ Que es un Grafo?.

ekram
Download Presentation

Análisis de Algoritmo

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Análisis de Algoritmo Cecilia Laborde González Cecilia.laborde.g@gmail.com

  2. Objetivos de la Clase Conocer y comprender el funcionamiento de los grafos.

  3. ¿ Que 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. • La estructura algebraica para los grafos es G=(V,E). Existen dos tipos de Grafos: • Grafo dirigido • Grafo no dirigido

  4. GRAFO DIRIGIDO Un GRAFO DIRIGIDO G consiste de un conjunto V de vértices y un conjunto E al conjunto de aristas del grafo. a b c d V={a, b, c, d} E={(a,c), (a,b), (b,c), (b,d), (c,d)}

  5. GRAFO DIRIGIDO Los vértices de un grafo dirigido pueden usarse para representar objetos y los enlaces relaciones entre los objetos, ejemplo de ello que los vértices pueden representar ciudades y los enlaces vuelos aéreos entre ciudades.

  6. GRAFO DIRIGIDO Un enlace es un par ordenado de vértices (v, w), donde v es la cola y w corresponde a la cabeza del enlace. v w

  7. GRAFO NO DIRIGIDO Sea G un Grafo no Dirigido, donde G=(V,E), V corresponde al conjunto de vértices y E al conjunto de aristas del grafo. Un Grafo no Dirigido se diferencia de un Grafo Dirigido debido a que cada arista en E es un par no ordenado de vértices. Si (v,w) es una arista no dirigida  (v,w) = (w,v). V={a, b, c, d} E={(a,c),(c,a),(a,b),(b,a) (b,c),(c,b),(b,d),(d,b), (c,d),(d,c)} a b c d

  8. 20 20 a a b b a a b b 25 25 30 30 40 40 c c d d c c d d 15 15 COSTOS Los enlaces tanto para los grafos Dirigidos como No Dirigidos tienen un costo (valor), por lo tanto son grafos etiquetados Grafo Dirigido Etiquetado Grafo No Dirigido Etiquetado

  9. 2 1 4 3 REPRESENTACION LOS GRAFOS • Un grafo Dirigido o No-Dirigido se puede representar mediante: • Matriz de Adyacencia • Lista de Adyacencia • Arreglos para la Lista de Adyacencia. • Sea el siguiente Grafo Dirigido: • Donde: • V={1,2,3,4} • E={(1,2),(2,3), (,3,1), ((4,2),(3,4)}

  10. 2 1 4 3 MATRIZ ADYACENTE La Matriz Adyacente A de un Grafo G=(V,E) tiene V*V elementos y se define como: Fila Columna Sea: E={( 1 , 2 ), ( 2 , 3), (3 , 1 ), ( 4 ,2),( 3 , 4 )}

  11. VENTAJAS Y DESVENTAJAS DE LA MATRIZ DE ADYACENCIA VENTAJAS: Se puede determinar en un tiempo fijo y constante si un enlace(arco) pertenece o no al grafo. Es fácil determinar si existe o no un arco o enlace, solo se debe posicionar en la matriz. Es fácil determinar si existe un ciclo en el grafo, basta multiplicar la matriz por ella misma n veces hasta obtener la matriz nula(no hay ciclos) o bien una sucesión periódica de matrices(hay ciclo) DESVENTAJAS: Se requiere un almacenamiento |v|*|v|. Es decir O(n2). Solo al leer o examinar la matriz puede llevar un tiempo de O(n2).

  12. LISTA ADYACENTE La lista de adyacencia 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 adyacencias, una para cada vértice. Vértices 1 2 3 4 Lista de Grafos Adyacencia

  13. VENTAJAS Y DESVENTAJAS DE LAS LISTAS DE ADYACENCIA • VENTAJAS: • La lista de adyacencia requiere un espacio proporcional a la suma del número de vértices más el número de enlaces(arcos). Hace buen uso de la memoria. • Se utiliza bastante cuando el número de enlaces es mucho menor que O(n2) • DESVENTAJAS: • La representación con lista de adyacencia es que puede llevar un tiempo O(n) determinar si existe un arco del vértice i al vértice j, ya que pueden haber O(n) vértices en la lista de adyacencia. Para el vértice i.

  14. UTILIZACION DE ARREGLOS PARA LA LISTA DE ADYACENCIA • VENTAJAS: • Se utilizan los arreglos para implementar la Lista de Adyacencia:

More Related