SlideShare ist ein Scribd-Unternehmen logo
1 von 23
GRAFOS ESTRUCTURA DE DATOS www.espol.edu.ec www.fiec.espol.edu.ec
INTRODUCCION ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Dado un escenario donde ciertos objetos se relacionan, se puede “modela el grafo” y luego aplicar algoritmos para  resolver diversos problemas Impresora Modem PC2 Servidor PC1
DEFINICION ,[object Object],[object Object],[object Object],[object Object],[object Object],V = {1, 4, 5, 7, 9}  A= {(1,4), (4,9), (9,7), (7,5), (5,1),  (4,1), (1,5), (5,7), (7, 9), (9,4)} 1 4 5 7 9
TIPOS DE GRAFOS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],V = {C, D, E, F, H}  A= {(E,H), (H,E), (E,C), (C,D), (D,F)} Grafo del ejemplo anterior C E D F H 1 4 5 7 9
OTROS CONCEPTOS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Guayaquil Quito Cuenca Ambato Riobamba 5 5 7 9 8 7
GRADOS DE UN NODO ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Gradoent(D) = 1 y Gradsal(D) = 1 Grado(Guayaquil) = 3 C E D F H Guayaquil Quito Cuenca Ambato Riobamba 5 5 7 9 8 7
CAMINOS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Camino entre 4 y 7 P = {4, 6, 9, 7} Longitud: 3 Camino A y A P = {A, E, B, F, A} Longitud: 4 – 4ciclo 4 7 9 6 10 11 A B C D E F
CONECTIVIDAD ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],3 9 5 7 2 4 5 6 8 H A B D
TDA GRAFO ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
REPRESENTACION ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
MATRIZ DE ADYACENCIA ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Si el grafo fuese valorado, en vez de 1, se coloca el factor de peso 4 7 9 6 10 11 V 0 V 1 V 2 V 3 V 4 V 5
EL TIPO DE DATO ,[object Object],[object Object],[object Object],[object Object],#define MAX 20 typedef int [MAX][MAX] MatrizAdy; typdef Generico[MAX]  GRAPH_Vertex ; typedef struct  GRAPH { GRAPH_Vertex  V; MatrizAdy A; int nvertices; bool Dirigido; };
UNIR VERTICE void Union(GRAPH G, int v1, int v2){ G->A[v1][v2] = 1; if(!G->dirigido) G->A[v2][v1] = 1; }
LISTA DE ADYACENCIA ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],4 7 9 6 10 11 4 6 9 7 10 11 6 4 6 9 11 10 9 7
EL TIPO DE DATO ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],struct GRAPH_Vertex { //Vértice Generic info; List *lst_adj; Mark visit; }; struct GRAPH_Edge //Arco { int weight; GRAPH_Vertex *destination; GRAPH_Vertex *origin; }; typedef struct { //Grafo List LVertices; bool dirigido; }  GRAPH ;
ALGUNAS IMPLEMENTACIONES void Union( GRAPH  G,  GRAPH_Vertex  V1,  GRAPH_Vertex  V2, int peso){ GRAPH_Edge *arc; arc = GRAPH_Edge_New(G,V1,V2,peso); if (arc) { List_InsertAfterLast (V1->lst_adj,NodeList_New(arc)); if(!G->dirigido)   List_InsertAfterLast   (V2->lst_adj, NodeList_New(arc)); } }
EJERCICIO ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
RECORRIDOS DEL GRAFO ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
RECORRIDO EN ANCHURA ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
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
IMPLEMENTACION ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
RECORRIDO EN PROFUNDIDAD ,[object Object],[object Object],[object Object],[object Object],[object Object],A T H B D C R Se Muestra: Pila D D B C C R R H H A T T A B
EJERCICIO Escriba la implementación del recorrido en profundidad de un grafo a partir de un vértice inicial

Weitere ähnliche Inhalte

Was ist angesagt? (20)

Teoria de Grafos. Conceptos básicos.
Teoria de Grafos. Conceptos básicos.Teoria de Grafos. Conceptos básicos.
Teoria de Grafos. Conceptos básicos.
 
Grafos
GrafosGrafos
Grafos
 
Clase 9 grafos parte iii (cam min - arbol min)-ay_ed-2014
Clase 9  grafos parte iii (cam min - arbol min)-ay_ed-2014Clase 9  grafos parte iii (cam min - arbol min)-ay_ed-2014
Clase 9 grafos parte iii (cam min - arbol min)-ay_ed-2014
 
Conceptos básicos de los grafos
Conceptos básicos de los grafosConceptos básicos de los grafos
Conceptos básicos de los grafos
 
Tema grafos
Tema grafosTema grafos
Tema grafos
 
Grafos
GrafosGrafos
Grafos
 
Diapo teoria de grafos
Diapo teoria de grafosDiapo teoria de grafos
Diapo teoria de grafos
 
Teoría de grafos
Teoría de grafosTeoría de grafos
Teoría de grafos
 
I1M2010-T22: Algoritmos sobre grafos en Haskell
I1M2010-T22: Algoritmos sobre grafos en HaskellI1M2010-T22: Algoritmos sobre grafos en Haskell
I1M2010-T22: Algoritmos sobre grafos en Haskell
 
Catedra grafos
Catedra grafosCatedra grafos
Catedra grafos
 
Grafos
GrafosGrafos
Grafos
 
Grafos
GrafosGrafos
Grafos
 
Grafos
GrafosGrafos
Grafos
 
Teoría de grafos
Teoría de grafosTeoría de grafos
Teoría de grafos
 
Matemáticas discretas- Teoría de Grafos
Matemáticas discretas- Teoría de GrafosMatemáticas discretas- Teoría de Grafos
Matemáticas discretas- Teoría de Grafos
 
Tema 8 Álgebra Lineal: Teoría de Grafos
Tema 8 Álgebra Lineal: Teoría de GrafosTema 8 Álgebra Lineal: Teoría de Grafos
Tema 8 Álgebra Lineal: Teoría de Grafos
 
Teoria de grafos
Teoria de grafosTeoria de grafos
Teoria de grafos
 
Presentación de grafos
Presentación de  grafosPresentación de  grafos
Presentación de grafos
 
Capitulo1 grafos
Capitulo1 grafosCapitulo1 grafos
Capitulo1 grafos
 
Presentación1 grafos
Presentación1 grafosPresentación1 grafos
Presentación1 grafos
 

Ähnlich wie 19 Grafos 1 (20)

19. Grafos.ppt
19. Grafos.ppt19. Grafos.ppt
19. Grafos.ppt
 
Grafos.ppt
 Grafos.ppt Grafos.ppt
Grafos.ppt
 
Grafos
Grafos Grafos
Grafos
 
Grafos
Grafos Grafos
Grafos
 
Teoria-de-grafos
Teoria-de-grafosTeoria-de-grafos
Teoria-de-grafos
 
Material de grafos.pdf
Material de grafos.pdfMaterial de grafos.pdf
Material de grafos.pdf
 
Catedra grafos
Catedra grafosCatedra grafos
Catedra grafos
 
Catedra grafos
Catedra grafosCatedra grafos
Catedra grafos
 
Programación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operacionesProgramación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operaciones
 
S8-EDD-4.2 Aplicaciones de árboles en informática
S8-EDD-4.2 Aplicaciones de árboles en informáticaS8-EDD-4.2 Aplicaciones de árboles en informática
S8-EDD-4.2 Aplicaciones de árboles en informática
 
Grafoscuestionario
GrafoscuestionarioGrafoscuestionario
Grafoscuestionario
 
Grafos
GrafosGrafos
Grafos
 
Grafos en sage
Grafos en sageGrafos en sage
Grafos en sage
 
Teoría de Grafos en sage
 Teoría de Grafos en sage Teoría de Grafos en sage
Teoría de Grafos en sage
 
Grafos
GrafosGrafos
Grafos
 
Grafos
GrafosGrafos
Grafos
 
Grafos
GrafosGrafos
Grafos
 
TRABAJO DE GRAFOS
TRABAJO DE GRAFOSTRABAJO DE GRAFOS
TRABAJO DE GRAFOS
 
Teoría de Grafos.
Teoría de Grafos.Teoría de Grafos.
Teoría de Grafos.
 
Revista Manuel Torres: Mirror-x100@
Revista Manuel Torres: Mirror-x100@Revista Manuel Torres: Mirror-x100@
Revista Manuel Torres: Mirror-x100@
 

Mehr von Johanna Toledo Morillo (19)

Logica Juridica
Logica JuridicaLogica Juridica
Logica Juridica
 
Contrato Ocasional
Contrato OcasionalContrato Ocasional
Contrato Ocasional
 
Rodrigo Borja Cevallos
Rodrigo Borja CevallosRodrigo Borja Cevallos
Rodrigo Borja Cevallos
 
Ventajas De La ComunicacióN
Ventajas De La ComunicacióNVentajas De La ComunicacióN
Ventajas De La ComunicacióN
 
Niveles De La ComunicacióN Oral
Niveles De La ComunicacióN OralNiveles De La ComunicacióN Oral
Niveles De La ComunicacióN Oral
 
Comunicacion
ComunicacionComunicacion
Comunicacion
 
Crear vocabulario
Crear vocabularioCrear vocabulario
Crear vocabulario
 
Gran Depresion
Gran DepresionGran Depresion
Gran Depresion
 
Comunicación Oral
Comunicación OralComunicación Oral
Comunicación Oral
 
Comunicaciòn Interpersonal
Comunicaciòn InterpersonalComunicaciòn Interpersonal
Comunicaciòn Interpersonal
 
Comunicación Empresarial
Comunicación EmpresarialComunicación Empresarial
Comunicación Empresarial
 
Grafos 2
Grafos 2Grafos 2
Grafos 2
 
Heaps
HeapsHeaps
Heaps
 
Arboles
ArbolesArboles
Arboles
 
1 Tipos De Datos Ejercicios
1 Tipos De Datos Ejercicios1 Tipos De Datos Ejercicios
1 Tipos De Datos Ejercicios
 
Tipos De Datos
Tipos De DatosTipos De Datos
Tipos De Datos
 
Tipo de Datos
Tipo de DatosTipo de Datos
Tipo de Datos
 
U 1 Ae. %2 Bconceptos%2 Bbasicos%2 Bde%2 Badminist.%2 By%2 Borganiz
U 1 Ae. %2 Bconceptos%2 Bbasicos%2 Bde%2 Badminist.%2 By%2 BorganizU 1 Ae. %2 Bconceptos%2 Bbasicos%2 Bde%2 Badminist.%2 By%2 Borganiz
U 1 Ae. %2 Bconceptos%2 Bbasicos%2 Bde%2 Badminist.%2 By%2 Borganiz
 
A
AA
A
 

19 Grafos 1

  • 1. GRAFOS ESTRUCTURA DE DATOS www.espol.edu.ec www.fiec.espol.edu.ec
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13. UNIR VERTICE void Union(GRAPH G, int v1, int v2){ G->A[v1][v2] = 1; if(!G->dirigido) G->A[v2][v1] = 1; }
  • 14.
  • 15.
  • 16. ALGUNAS IMPLEMENTACIONES void Union( GRAPH G, GRAPH_Vertex V1, GRAPH_Vertex V2, int peso){ GRAPH_Edge *arc; arc = GRAPH_Edge_New(G,V1,V2,peso); if (arc) { List_InsertAfterLast (V1->lst_adj,NodeList_New(arc)); if(!G->dirigido) List_InsertAfterLast (V2->lst_adj, NodeList_New(arc)); } }
  • 17.
  • 18.
  • 19.
  • 20. 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
  • 21.
  • 22.
  • 23. EJERCICIO Escriba la implementación del recorrido en profundidad de un grafo a partir de un vértice inicial