Grafos

19
Asignatura: Estructura de Datos Avanzada Tema: Grafos Diplomado en Informática Aplicada Centro de Estudio de Ingeniería de Sistemas (CEIS) Instituto Superior Politécnico “José Antonio Echeverría” (CUJAE)

Transcript of Grafos

  • Asignatura: Estructura de Datos Avanzada

    Tema: Grafos

    Diplomado en Informtica Aplicada

    Centro de Estudio de Ingeniera de Sistemas (CEIS)

    Instituto Superior Politcnico Jos Antonio Echeverra (CUJAE)

  • Tema 4: Grafos

    Contenido

    Definicin de grafo.

    Operaciones sobre grafos. Representacin matricial de grafos en un lenguaje

    de programacin.

    Grafos (representacin enlazada) Operaciones sobre grafos representados de

    manera enlazada.

    Representacin enlazada de grafos en un lenguaje de programacin

  • Bibliografa

    Data Structures / Algorithms in Java. Robert Lafore. Pginas: 280-370

    Thinking in Java. Pginas: 395-445. Aprenda Java como si estuviera en primero.

    Pginas: 135-139.

    Aprenda Java en 21 das. Pginas: 135-151. El C++. Lenguaje de Programacin. Bjarne

    Stroustrup. Pginas 143-180 :.

  • Objetivos

    Conozcan las estructuras de datos arbreas y las

    formas de trabajar con ellas en la solucin de

    problemas de mediana complejidad

  • Introduccin

    Estructuras de datos estudiadas:

    Listas lineales y sus variantes.

    Las relaciones entre los nodos de informacin son

    lineales.

    Todos los nodos tienen un nico antecesor, excepto el primero que no tiene antecesor.

    Todos los nodos tienen un nico sucesor, excepto el ltimo que no tiene sucesor.

  • Introduccin

    Estructuras de datos estudiadas:

    Los rboles y sus variantes

    Cuando se est en presencia de relaciones no lineales de tipo jerrquica, se utilizan los rboles.

    Un nodo puede tener ms de un sucesor. Se puede establecer un camino nico desde el nodo raz hasta un nodo cualquiera del rbol.

    Cada nodo tiene un nico padre, exceptuando al nodo raz del rbol, que no tiene padre.

  • Introduccin

    En ocasiones, incluso, se requiere tener acceso a un

    nodo determinado a partir de ms de un nodo de la

    estructura. Existen varios caminos entre un nodo y

    otro.

    Ejemplo:

    Una red hidrulica, Caminos entre ciudades, Afinidad entre miembros de un colectivo, entre otros.

  • Introduccin

    Caminos entre ciudades

    Ciudad A

    Ciudad B

    Ciudad C Ciudad F

    Ciudad D

    Ciudad E

  • Grafos

    Un grafo (en ingls graph) es un T.D.A. que representa un conjunto finito N de nodos, llamados vrtices, relacionados entre s por un conjunto R de arcos.

    A B

    D C

    E

    Grafo con 5 vrtices y 6 arcos.

    Vrtices del Grafo

    N ={ A, B, C, D, E }

    Arcos del Grafo

    R={(A, A), (A, B), (A, D), (A, C), (D, C), (C, E)}

  • Grafos: Aclaraciones

    Si el conjunto N es vaco, el grafo ser vaco.

    Cada arco de un grafo establece una nica relacin entre dos nodos.

    No existe restriccin en la relacin que establece un arco, o sea, un nodo puede estar relacionado

    consigo mismo o con otro nodo.

    Cada arco se representa a travs de un par, donde cada elemento determina uno de los nodos.

  • Observacin

    Dado que no hay restricciones en cuanto a los arcos de un grafo, todas las estructuras vistas con anterioridad pueden ser consideradas como un grafo.

    Ejemplo, una lista lineal puede ser vista como un grafo donde cada nodo est relacionado con exactamente un nodo distinto de l.

  • Clasificacin de los Grafos

    Un grafo es no orientado o no dirigido (en ingls

    not directed o not oriented graph) si el hecho de

    que el arco (Nj, Nk) pertenezca a R implica que el

    arco (Nk, Nj) pertenece a R, para todo j y k.

    Es irrelevante el sentido de las saetas en los arcos Al representarlos, los arcos se grafican sin saeta. El arco que los relaciona aparece una sola vez en el conjunto R de arcos del grafo.

    Si el grafo es no orientado, al arco se le llama arista.

  • Clasificacin de los Grafos

    Un grafo es orientado o dirigido (en ingls:

    oriented graph o directed graph) si el hecho de

    que el arco (Nj, Nk) pertenezca a R no implica que el

    arco (Nk, Nj) pertenece tambin a R, para todo j y k.

    El sentido de las saetas en los arcos es importante. Es importante la direccin del arco, o sea, el nodo origen del arco y el nodo destino.

    El hecho que exista un arco de Nj a Nk no implica que exista de Nk a Nj.

    Se conocen como digrafos (en ingls: digraph).

  • A B

    D C

    E

    Grafo No Orientado

    o No Dirigido

    Clasificacin de los Grafos

    A B

    D C

    E

    Grafo Orientado o

    Dirigido

  • Adyacencia

    El nodo n es adyacente al m, si existe un arco o

    arista de m a n.

    A B

    D C

    E

    Adyacencia:

    B es adyacente a A

    D es adyacente a A

    C es adyacente a A

    A es adyacente a A

    C es adyacente a D

    E es adyacente a C

  • Incidencia

    A B

    D C

    E

    Incidencia:

    B es incidente al arco (A,B)

    (A,B) es incidente a B

    El vrtice n es incidente al arco o arista x, si n es

    uno de los vrtices relacionados con el arco o arista

    x. Del mismo modo, se dice que el arco o arista x es

    incidente al vrtice n.

    As, todos los arcos que llegan o salen de un nodo

    son incidentes a l

    .

  • Grado de un Vrtice

    El grado de un vrtice n es el nmero de arcos

    incidentes a l.

    En el caso de los grafos orientados, el grado de

    entrada de un vrtice n es el nmero de arcos que

    llegan a l y el grado de salida de un vrtice n es el

    nmero de arcos que salen de l.

    Por lo tanto, el grado de un vrtice es la suma de

    los grados de entrada y de salida del vrtice.

  • Sobre el Nodo D:

    Grado de Entrada: 3

    Grado de Salida: 2

    Grado del Nodo: 5

    A B

    D

    C

    E

    F

    Grado de un Vrtice

  • Ponderando arcos y vrtices

    En muchas aplicaciones resulta de inters asignar

    valores de ponderacin, tambin llamados pesos,

    a los arcos o a los vrtices, obtenindose as:

    Grafos ponderados por los arcos

    Grafos ponderados por los vrtices