Grafos
-
Upload
jjgalactico -
Category
Documents
-
view
219 -
download
0
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