SlideShare una empresa de Scribd logo
GRAFOS
INTRODUCCION
 Los grafos son estructuras de datos
 Representan relaciones entre objetos
 Relaciones arbitrarias, es decir
 No jerárquicas
 Son aplicables en
 Química
 Geografía
 Ing. Eléctrica e Industrial, etc.
 Modelado de Redes
 De alcantarillado
 Eléctricas
 Etc.
Impresora
Modem
PC2
Servidor
PC1
Dado un escenario
donde ciertos objetos
se relacionan, se
puede “modela el
grafo” y luego aplicar
algoritmos para
resolver diversos
problemas
DEFINICION
 Un grafo G = (V,A)
 V, el conjunto de vértices o nodos
 Representan los objetos
 A, el conjunto de arcos
 Representan las relaciones
V = {1, 4, 5, 7, 9}
A= {(1,4), (5,1), (7,9), (7,5), (4,9), (4,1), (1,5), (9,7), (5, 7), (9,4)}
1 4
5
7 9
TIPOS DE GRAFOS
 Grafos dirigidos
 Si los pares de nodos que forman
arcos
 Son ordenados. Ej.: (u->v)
 Grafos no dirigidos
 Si los pares de nodos de los arcos
 No son ordenados Ej.: u-v
C E
D
F
H
V = {C, D, E, F, H}
A= {(C,D), (D,F), (E,H), (H,E), (E,C)}
1 4
5
7 9
Grafo del ejemplo anterior
OTROS CONCEPTOS
 Arista
 Es un arco de un grafo no dirigido
 Vertices adyacente
 Vertices unidos por un arco
 Factor de Peso
 Valor que se puede asociar con un
arco
 Depende de lo que el grafo represente
 Si los arcos de un grafo tienen F.P.
 Grafo valorado
Guayaquil Quito
Cuenca
Ambato
Riobamba
5
5
7
9
8
7
GRADOS DE UN NODO
 En Grafo No Dirigido
 Grado(V)
 Numero de aristas que contiene a V
 En Grafo Dirigido
 Grado de entrada, Graden(V)
 Numero de arcos que llegan a V
 Grado de Salida, Gradsal(V)
 Numero de arcos que salen de V
C E
D
F
H
Guayaquil Quito
Cuenca
Ambato
Riobamba
5
5
7
9
8
7
Gradoent(D) = 1 y Gradsal(D) = 1
Grado(Guayaquil) = 3
CAMINOS
 Definicion
 Un camino P en un grafo G, desde
V0 a Vn
 Es la secuencia de n+1 vertices
 Tal que (Vi, Vi+1)  A para 0 i  n
 Longitud de camino
 El numero de arcos que lo
forman
 Camino Simple
 Todos los nodos que lo
forman son distintos
 Ciclo
 Camino simple cerrado
de long. >= 2
 Donde V0 = Vn
4 7
9
6
10
11
Camino entre 4 y 7
P = {4, 6, 9, 7}
Longitud: 3
A B C
D E F
Camino A y A
P = {A, E, B, F, A}
Longitud: 4 – 4ciclo
CONECTIVIDAD
 Grafo No Dirigido
 Conexo
 Existe un camino entre
cualquier par de nodos
 Grafo Dirigido
 Fuertemente Conexo
 Existe un camino entre cualquier par
de nodos
 Conexo
 Existe una cadena entre cualquier
par de nodos
3
9
5
7
2
4
5
6
8
H
A
B
D
TDA GRAFO
 Datos
 Vertices y
 Arcos(relacion entre vertices)
 Operaciones
 void AñadirVertice(Grafo G, Vertice V)
 Añadir un nuevo vertice
 void BorrarVertice(Grafo G, Generico clave)
 Eliminar un vertice existente
 void Union(Grafo G, Vertice V1, Vertice V2)
 Unir dos vertices
 Void BorrarArco(Grafo G, Vertice V1, Vertice V2)
 Eliminar un Arco
 bool EsAdyacente(Grafo G, Vertice V1, Vertice V2)
 Conocer si dos vertices son o no adyacentes
REPRESENTACION
 Dos posibles representaciones
 Estatica: Matriz de Adyacencia
 Los vertices se representan por indices(0…n)
 Las relaciones de los vertices se almacenan en una Matriz
 Dinamica: Lista de Adyacencia
 Los vertices forman una lista
 Cada vertice tiene una lista para representar sus
relaciones(arcos)
MATRIZ DE ADYACENCIA
 Dado un Grafo G = (V, A)
 Sean los Vertices V = {V0, V1,
… Vn}
 Se pueden representar por
ordinales 0,1,..n
 Como representar los Arcos?
 Estos son enlaces entre vertices
 Puede usarse una matriz



)
,
(
arco
hay
no
si
,
0
)
,
(
arco
hay
si
,
1
Vj
Vi
Vj
Vi
aij




















0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
5
4
3
2
1
0
5
4
3
2
1
0
V
V
V
V
V
V
V
V
V
V
V
V
Si el grafo fuese valorado, en vez
de 1, se coloca el factor de peso
4 7
9
6
10
11
V0
V1 V2
V3
V4
V5
EL TIPO DE DATO
 Los Vertices
 Se definen en un
Arreglo
 Los Arcos
 Se definen en una
Matriz
LISTA DE ADYACENCIA
 Si una matriz
 Tiene muchos vertices y
 Pocos arcos
 La Matriz de Adyacencia
 Tendra demasiados ceros
 Ocupara mucho espacio
 Los vertices
 Pueden formar una lista, no un vector
 Los arcos
 Son relaciones entre vertices
 Se pueden representar con una lista x cada
vertice
4 7
9
6
10
11
4
6
9
7
10
11
6
4
6
9
11
10
9
7
EL TIPO DE DATO
 Cada vertice tiene
 Contenido
 Siguiente
 Una lista de adyacencia
 Cada nodo en la lista de
adyacencia
 Peso del arco
 Siguiente
 Una referencia al vertice(arco)
RECORRIDOS DEL GRAFO
 Se busca
 Visitar todos los nodos posibles
 Desde un vertice de partida D
 Cualquiera
 Existe dos posibles recorridos
 En Anchura y
 En Profundidad
RECORRIDO EN ANCHURA
 Encolar vertice de partida
 Marcarlo como “visitado”
 Mientras la cola no este vacia
 Desencolar vertice W
 Mostrarlo
 Marcar como visitados
 Los vertices adyacentes de W
 Que no hayan sido ya visitados
 Encolarlos
EJEMPLO
A
T
H
B
D
C
R
D
Cola
Se Muestra:
D
B C
B C
C H
H R
H
R
A
R A
T
T
A
T T
RECORRIDO EN
PROFUNDIDAD
 Marcar vertice origen V como visitado
 Recorrer en Profundidad
 Cada vertice adyacente de V
 Que no haya sido visitado
 Ejemplo
A
T
H
B
D
C
R
Se Muestra:
Pila
D
D
B
C
C
R
R
H
H
A
T
T A B

Más contenido relacionado

PPT
Grafos Basicos para principiantes paso uno
PPT
Grafos - Estructura de Datos - Matemática discreta
PPT
19. Grafos.ppt
PPT
Grafos
PPT
Grafos
PPT
PDF
Material de grafos.pdf
Grafos Basicos para principiantes paso uno
Grafos - Estructura de Datos - Matemática discreta
19. Grafos.ppt
Grafos
Grafos
Material de grafos.pdf

Similar a Grafos.ppt (20)

PPT
Teoria sobre arboles y grafos, presentacion clave sobre las bases de la intel...
PPT
PDF
Revista Manuel Torres: Mirror-x100@
PDF
Catedra grafos
PDF
Catedra grafos
PDF
Catedra grafos
PPTX
Programación 3: Grafos, representación y operaciones
PDF
Grafos en sage
PDF
Teoría de Grafos en sage
PPT
PPT
PDF
Teoria-de-grafos
PPTX
TEORIA DE GRAFOS DE INFORMATICA CAPITULO
PDF
Grafos
DOCX
Grafoscuestionario
PPTX
TRABAJO DE GRAFOS
PDF
Teoría de Grafos.
PDF
4.Grafos.pdf
Teoria sobre arboles y grafos, presentacion clave sobre las bases de la intel...
Revista Manuel Torres: Mirror-x100@
Catedra grafos
Catedra grafos
Catedra grafos
Programación 3: Grafos, representación y operaciones
Grafos en sage
Teoría de Grafos en sage
Teoria-de-grafos
TEORIA DE GRAFOS DE INFORMATICA CAPITULO
Grafos
Grafoscuestionario
TRABAJO DE GRAFOS
Teoría de Grafos.
4.Grafos.pdf
Publicidad

Último (20)

PDF
Modelo Educativo SUB 2023versión final.pdf
DOC
4°_GRADO_-_SESIONES_DEL_11_AL_15_DE_AGOSTO.doc
PDF
ACERTIJO EL CONJURO DEL CAZAFANTASMAS MATEMÁTICO. Por JAVIER SOLIS NOYOLA
DOCX
PLANES DE área ciencias naturales y aplicadas
PPTX
T2 Desarrollo del SNC, envejecimiento y anatomia.pptx
PPTX
MATEMATICAS GEOMETRICA USO TRANSPORTADOR
PDF
Tomo 1 de biologia gratis ultra plusenmas
PDF
Telos 127 Generacion Al fa Beta - fundaciontelefonica
PDF
Aqui No Hay Reglas Hastings-Meyer Ccesa007.pdf
PDF
Esc. Sab. Lección 7. El pan y el agua de vida.pdf
PDF
1. Intrdoduccion y criterios de seleccion de Farm 2024.pdf
PDF
La Inteligencia Emocional - Fabian Goleman TE4 Ccesa007.pdf
PDF
Texto Digital Los Miserables - Victor Hugo Ccesa007.pdf
PDF
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
PDF
Aumente su Autoestima - Lair Ribeiro Ccesa007.pdf
PPTX
Presentación de la Cetoacidosis diabetica.pptx
PDF
Como usar el Cerebro en las Aulas SG2 NARCEA Ccesa007.pdf
PPTX
TEMA 1ORGANIZACIÓN FUNCIONAL DEL CUERPO, MEDIO INTERNO Y HOMEOSTASIS (3) [Aut...
PPTX
LAS MIGRACIONES E INVASIONES Y EL INICIO EDAD MEDIA
PDF
5°-UNIDAD 5 - 2025.pdf aprendizaje 5tooo
Modelo Educativo SUB 2023versión final.pdf
4°_GRADO_-_SESIONES_DEL_11_AL_15_DE_AGOSTO.doc
ACERTIJO EL CONJURO DEL CAZAFANTASMAS MATEMÁTICO. Por JAVIER SOLIS NOYOLA
PLANES DE área ciencias naturales y aplicadas
T2 Desarrollo del SNC, envejecimiento y anatomia.pptx
MATEMATICAS GEOMETRICA USO TRANSPORTADOR
Tomo 1 de biologia gratis ultra plusenmas
Telos 127 Generacion Al fa Beta - fundaciontelefonica
Aqui No Hay Reglas Hastings-Meyer Ccesa007.pdf
Esc. Sab. Lección 7. El pan y el agua de vida.pdf
1. Intrdoduccion y criterios de seleccion de Farm 2024.pdf
La Inteligencia Emocional - Fabian Goleman TE4 Ccesa007.pdf
Texto Digital Los Miserables - Victor Hugo Ccesa007.pdf
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
Aumente su Autoestima - Lair Ribeiro Ccesa007.pdf
Presentación de la Cetoacidosis diabetica.pptx
Como usar el Cerebro en las Aulas SG2 NARCEA Ccesa007.pdf
TEMA 1ORGANIZACIÓN FUNCIONAL DEL CUERPO, MEDIO INTERNO Y HOMEOSTASIS (3) [Aut...
LAS MIGRACIONES E INVASIONES Y EL INICIO EDAD MEDIA
5°-UNIDAD 5 - 2025.pdf aprendizaje 5tooo
Publicidad

Grafos.ppt

  • 2. INTRODUCCION  Los grafos son estructuras de datos  Representan relaciones entre objetos  Relaciones arbitrarias, es decir  No jerárquicas  Son aplicables en  Química  Geografía  Ing. Eléctrica e Industrial, etc.  Modelado de Redes  De alcantarillado  Eléctricas  Etc. Impresora Modem PC2 Servidor PC1 Dado un escenario donde ciertos objetos se relacionan, se puede “modela el grafo” y luego aplicar algoritmos para resolver diversos problemas
  • 3. DEFINICION  Un grafo G = (V,A)  V, el conjunto de vértices o nodos  Representan los objetos  A, el conjunto de arcos  Representan las relaciones V = {1, 4, 5, 7, 9} A= {(1,4), (5,1), (7,9), (7,5), (4,9), (4,1), (1,5), (9,7), (5, 7), (9,4)} 1 4 5 7 9
  • 4. TIPOS DE GRAFOS  Grafos dirigidos  Si los pares de nodos que forman arcos  Son ordenados. Ej.: (u->v)  Grafos no dirigidos  Si los pares de nodos de los arcos  No son ordenados Ej.: u-v C E D F H V = {C, D, E, F, H} A= {(C,D), (D,F), (E,H), (H,E), (E,C)} 1 4 5 7 9 Grafo del ejemplo anterior
  • 5. OTROS CONCEPTOS  Arista  Es un arco de un grafo no dirigido  Vertices adyacente  Vertices unidos por un arco  Factor de Peso  Valor que se puede asociar con un arco  Depende de lo que el grafo represente  Si los arcos de un grafo tienen F.P.  Grafo valorado Guayaquil Quito Cuenca Ambato Riobamba 5 5 7 9 8 7
  • 6. GRADOS DE UN NODO  En Grafo No Dirigido  Grado(V)  Numero de aristas que contiene a V  En Grafo Dirigido  Grado de entrada, Graden(V)  Numero de arcos que llegan a V  Grado de Salida, Gradsal(V)  Numero de arcos que salen de V C E D F H Guayaquil Quito Cuenca Ambato Riobamba 5 5 7 9 8 7 Gradoent(D) = 1 y Gradsal(D) = 1 Grado(Guayaquil) = 3
  • 7. CAMINOS  Definicion  Un camino P en un grafo G, desde V0 a Vn  Es la secuencia de n+1 vertices  Tal que (Vi, Vi+1)  A para 0 i  n  Longitud de camino  El numero de arcos que lo forman  Camino Simple  Todos los nodos que lo forman son distintos  Ciclo  Camino simple cerrado de long. >= 2  Donde V0 = Vn 4 7 9 6 10 11 Camino entre 4 y 7 P = {4, 6, 9, 7} Longitud: 3 A B C D E F Camino A y A P = {A, E, B, F, A} Longitud: 4 – 4ciclo
  • 8. CONECTIVIDAD  Grafo No Dirigido  Conexo  Existe un camino entre cualquier par de nodos  Grafo Dirigido  Fuertemente Conexo  Existe un camino entre cualquier par de nodos  Conexo  Existe una cadena entre cualquier par de nodos 3 9 5 7 2 4 5 6 8 H A B D
  • 9. TDA GRAFO  Datos  Vertices y  Arcos(relacion entre vertices)  Operaciones  void AñadirVertice(Grafo G, Vertice V)  Añadir un nuevo vertice  void BorrarVertice(Grafo G, Generico clave)  Eliminar un vertice existente  void Union(Grafo G, Vertice V1, Vertice V2)  Unir dos vertices  Void BorrarArco(Grafo G, Vertice V1, Vertice V2)  Eliminar un Arco  bool EsAdyacente(Grafo G, Vertice V1, Vertice V2)  Conocer si dos vertices son o no adyacentes
  • 10. REPRESENTACION  Dos posibles representaciones  Estatica: Matriz de Adyacencia  Los vertices se representan por indices(0…n)  Las relaciones de los vertices se almacenan en una Matriz  Dinamica: Lista de Adyacencia  Los vertices forman una lista  Cada vertice tiene una lista para representar sus relaciones(arcos)
  • 11. MATRIZ DE ADYACENCIA  Dado un Grafo G = (V, A)  Sean los Vertices V = {V0, V1, … Vn}  Se pueden representar por ordinales 0,1,..n  Como representar los Arcos?  Estos son enlaces entre vertices  Puede usarse una matriz    ) , ( arco hay no si , 0 ) , ( arco hay si , 1 Vj Vi Vj Vi aij                     0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 1 0 1 0 0 0 0 1 0 5 4 3 2 1 0 5 4 3 2 1 0 V V V V V V V V V V V V Si el grafo fuese valorado, en vez de 1, se coloca el factor de peso 4 7 9 6 10 11 V0 V1 V2 V3 V4 V5
  • 12. EL TIPO DE DATO  Los Vertices  Se definen en un Arreglo  Los Arcos  Se definen en una Matriz
  • 13. LISTA DE ADYACENCIA  Si una matriz  Tiene muchos vertices y  Pocos arcos  La Matriz de Adyacencia  Tendra demasiados ceros  Ocupara mucho espacio  Los vertices  Pueden formar una lista, no un vector  Los arcos  Son relaciones entre vertices  Se pueden representar con una lista x cada vertice 4 7 9 6 10 11 4 6 9 7 10 11 6 4 6 9 11 10 9 7
  • 14. EL TIPO DE DATO  Cada vertice tiene  Contenido  Siguiente  Una lista de adyacencia  Cada nodo en la lista de adyacencia  Peso del arco  Siguiente  Una referencia al vertice(arco)
  • 15. RECORRIDOS DEL GRAFO  Se busca  Visitar todos los nodos posibles  Desde un vertice de partida D  Cualquiera  Existe dos posibles recorridos  En Anchura y  En Profundidad
  • 16. RECORRIDO EN ANCHURA  Encolar vertice de partida  Marcarlo como “visitado”  Mientras la cola no este vacia  Desencolar vertice W  Mostrarlo  Marcar como visitados  Los vertices adyacentes de W  Que no hayan sido ya visitados  Encolarlos
  • 17. EJEMPLO A T H B D C R D Cola Se Muestra: D B C B C C H H R H R A R A T T A T T
  • 18. RECORRIDO EN PROFUNDIDAD  Marcar vertice origen V como visitado  Recorrer en Profundidad  Cada vertice adyacente de V  Que no haya sido visitado  Ejemplo A T H B D C R Se Muestra: Pila D D B C C R R H H A T T A B