SlideShare una empresa de Scribd logo
1 de 12
Técnicas de Programación I UNIVERSIDAD PRIVADA SAN PEDRO TEMA : TRABAJO DE INVESTIGACION DE GRAFOS ,[object Object],[object Object],[object Object],[object Object],[object Object],ESCUELA DE ING. INFORMATICA Y DE SISTEMAS FACULTAD DE INGENIERIA
GRAFOS: Estructura de datos no lineal (Programación no numérica) que permiten representar los diferentes tipos de relaciones entre objetos G=(N,A) Supongamos: N={1,2,3,4,5} Y la siguiente relación en A: R={(1,2);(2,3);(3,4);(4,5)} En forma de grafo sería: 1 2 3 4 5
TIPOS DE GRAFOS: ,[object Object],* * ,[object Object],* * ,[object Object]
Búsqueda en Profundidad: Se implementa de forma recursiva, aunque también puede realizarse con una pila. Se utiliza un array “val” para almacenar el orden en que fueron explorados los vértices. int  id=0; int  val[V];  void  buscar()  { int  i; for  (i=1; i<=V; i++)  val[i]=0; for  (i=1; i<=V; i++)  if  (val[i]==0)  visitar(i);  } void  visitar(int i) // matriz de adyacencia  {  int  t; val[i]=++id; for  (t=1; t<=V; t++)  if  (a[i][t] &&  val[t]==0)  visitar(t); } void  visitar(int i) // listas de adyacencia  {  nodo  *t;  val[i]=++id;  for  (t=a[i]; t!=z; t=t->sig)  if  (val[t->v]==0) visitar(t->v); }
Representación de Grafos:  Una característica especial en los grafos es que podemos representarlos utilizando dos estructuras de datos distintas. En los algoritmos que se aplican sobre ellos veremos que adoptarán tiempos distintos dependiendo de la forma de representación elegida. En particular, los tiempos de ejecución variarán en función del número de vértices y el de aristas, por lo que la utilización de una representación u otra dependerá en gran medida de si el grafo es denso o disperso. Para nombrar los nodos utilizaremos letras mayúsculas, aunque en el código deberemos hacer corresponder cada nodo con un entero entre 1 y N (número de nodos o vértices) de cara a la manipulación de los mismos.
Obtención del camino de un Grafo: Método DIJKSTRA: es un algoritmo para la determinación del camino más corto dado un vértice origen al resto de vértices en un grafo dirigido y con pesos en cada  arista . void  iniciaGrafo() { for  ( int  i=1; <=n; i++) memset(&C[i][1], 0, n * sizeof(int)); } void  insertarnodo( int  a,  int  b,  int  c) { C[a][b] = C[b][a] = c; } int  D[MAXN];  /* distancias mínima desde s al nodo i */ int  padre[MAXN];  /* ruta hacia el nodo i desde s */ int  permanente[MAXN]; /* verdadero al tener la menor ruta al nodo i */
// calculamos las distancias while (  ! pq.empty() ) { nodotmp = pq.top();  pq.pop(); Vi = nodotmp.second; if  ( !permanente[Vi] ) { permanente[Vi] =  true ; for  (Vj = 1; Vj <= n; Vj++) if (!permanente[Vj] && C[Vi][Vj]>0 && D[Vi]+C[Vi][Vj]<D[Vj]) D[Vj] = D[Vi] + C[Vi][Vj], padre[Vj] = Vi, pq.push( pair <int,int> (-D[Vj], Vj) ); } } }  // leemos las aristas for ( int  i=0; i<e; i++) cout <<“Ingrese Arista1: ”; cin >>a; cout <<“Ingrese Arista2: ”;  cin >>b; cout <<“Ingrese Arista3: ”;  cin>>c; insertanodo(a, b, c); // usamos dijkstra para calcular la menor distancia // desde el i-esimo nodo hacia los demas for  ( int  i=1; i<=n; i++) dijkstra( i ), cout <<“La menor distancia desde el nodo hacia los otros nodos es: “<< i; imprimeGrafo(n), cout <<endl; }
Método WARSHALL: Para lograr el propósito del recorrido mínimo dentro de un grafo G, es necesario para nuestro caso en particular (puesto que no es la única técnica existente) la utilización del algoritmo de WARSHALL para el camino mínimo, el cual se expresa de la forma siguiente:
#include <stdio.h> #include <conio.h> #include <ctype.h> #include <stdlib.h> #include <iostream.h> #include <string.h> #define N 50 struct grafo {int dato; grafo *grafo[N]; grafo *sig; }*Pgrafo; grafo *insertar(grafo *nodo, grafo *Agrafo, int num) {if( !Agrafo ) {Agrafo= (grafo*) malloc( sizeof( grafo ) ); Agrafo->sig= NULL; Agrafo->dato= num; if( !nodo ) return Agrafo; else nodo->sig= Agrafo; return Agrafo; }
insertar( Agrafo, Agrafo->sig, num ); return nodo;} int enlazarfull( grafo *nodo ) {  int i; int vacio; if( !nodo->sig )return 0; for( i=0;i<vacio(nodo);i++ ) nodo->grafo[i]= NULL; return 1;} void main() { char op='A'; int val; int i; while(op!='S' ) {clrscr(); cout<<&quot; [N].- Nuevo Nodo.&quot; ; cout<<&quot; [E].- Menu Enlazes.&quot;; cout<<&quot; [V].- Ver Grafo.&quot;; cout<<&quot; [S].- Salir.&quot;; cout<<&quot; Digite Opcion: [  ] &quot;; cin>>op;
switch(op) { case 'N': cout<<&quot; Numero: &quot;; cin>>(&quot;&i&quot;,&val); Pgrafo= insertar( Pgrafo, Pgrafo, val ); break; case 'E':  enlazarfull(Pgrafo); break; case 'V':  break; } } cout<<&quot; Pulsa una tecla para salir...&quot;; getch(); return 0; }
GRACIAS TOTALES, nos vemos en el bingo

Más contenido relacionado

La actualidad más candente

La actualidad más candente (12)

Programacion ii
Programacion iiProgramacion ii
Programacion ii
 
Eficiencia en uso de recursos memoria2 p
Eficiencia en uso de recursos memoria2 pEficiencia en uso de recursos memoria2 p
Eficiencia en uso de recursos memoria2 p
 
Coordenadas1
Coordenadas1Coordenadas1
Coordenadas1
 
Act 2 gz_parte_ii
Act 2 gz_parte_iiAct 2 gz_parte_ii
Act 2 gz_parte_ii
 
Tarea 12 funcion gràfica uni minuto
Tarea 12 funcion gràfica uni minutoTarea 12 funcion gràfica uni minuto
Tarea 12 funcion gràfica uni minuto
 
Actividades
ActividadesActividades
Actividades
 
Comandos básicos.pptxe eni
Comandos básicos.pptxe eniComandos básicos.pptxe eni
Comandos básicos.pptxe eni
 
Clases graficas ultima_clase_matlab
Clases graficas ultima_clase_matlabClases graficas ultima_clase_matlab
Clases graficas ultima_clase_matlab
 
estructura lineal lenguaje C
estructura lineal lenguaje Cestructura lineal lenguaje C
estructura lineal lenguaje C
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Bfs en grafos
Bfs en grafosBfs en grafos
Bfs en grafos
 
algoritmos
algoritmosalgoritmos
algoritmos
 

Destacado

Capitulo i filosofia, epistemologia
Capitulo i  filosofia, epistemologiaCapitulo i  filosofia, epistemologia
Capitulo i filosofia, epistemologiajosemeyhuay
 
Actividades
ActividadesActividades
Actividadesabraham
 
Números complexos praticando1
Números complexos praticando1Números complexos praticando1
Números complexos praticando1Renata Pinto
 
Elaboración de material didáctico maría vede
Elaboración de material didáctico maría vedeElaboración de material didáctico maría vede
Elaboración de material didáctico maría vedemariavede
 
Pruebas de hipótesis para una muestra
Pruebas de hipótesis para una muestraPruebas de hipótesis para una muestra
Pruebas de hipótesis para una muestraAlejandro Ruiz
 
8ºano mat correcao teste5 8ano_v1
8ºano mat correcao teste5  8ano_v18ºano mat correcao teste5  8ano_v1
8ºano mat correcao teste5 8ano_v1silvia_lfr
 
Atencion Cliente Textil
Atencion Cliente TextilAtencion Cliente Textil
Atencion Cliente Textiltarrona
 
Ley fed resp admvas serv pub (1)
Ley fed resp admvas serv pub (1)Ley fed resp admvas serv pub (1)
Ley fed resp admvas serv pub (1)PrincessAnna80
 
8ºano mat correcao questao aula 2(fev 2015)
8ºano mat correcao questao aula 2(fev 2015)8ºano mat correcao questao aula 2(fev 2015)
8ºano mat correcao questao aula 2(fev 2015)silvia_lfr
 
Libro el nuevo sistema de justicia penal acusatorio. scjn
Libro el nuevo sistema de justicia penal acusatorio. scjnLibro el nuevo sistema de justicia penal acusatorio. scjn
Libro el nuevo sistema de justicia penal acusatorio. scjnOscar Flores Rocha
 
Pmirs ctpga 2010
Pmirs ctpga 2010Pmirs ctpga 2010
Pmirs ctpga 2010SENA
 
Turismo experiencial plan del turismo español horizonte 2020
Turismo experiencial plan del turismo español horizonte 2020 Turismo experiencial plan del turismo español horizonte 2020
Turismo experiencial plan del turismo español horizonte 2020 José Cantero Gómez
 
Apresentação Lidiane
Apresentação LidianeApresentação Lidiane
Apresentação Lidianejorgellss
 
Unam fesc planeación de ventas doc
Unam fesc planeación de ventas docUnam fesc planeación de ventas doc
Unam fesc planeación de ventas docJerry Arketype
 

Destacado (20)

Capitulo i filosofia, epistemologia
Capitulo i  filosofia, epistemologiaCapitulo i  filosofia, epistemologia
Capitulo i filosofia, epistemologia
 
Actividades
ActividadesActividades
Actividades
 
do no harm - proyecto kalu 09-2010
do no harm - proyecto kalu 09-2010do no harm - proyecto kalu 09-2010
do no harm - proyecto kalu 09-2010
 
Números complexos praticando1
Números complexos praticando1Números complexos praticando1
Números complexos praticando1
 
Elaboración de material didáctico maría vede
Elaboración de material didáctico maría vedeElaboración de material didáctico maría vede
Elaboración de material didáctico maría vede
 
Pruebas de hipótesis para una muestra
Pruebas de hipótesis para una muestraPruebas de hipótesis para una muestra
Pruebas de hipótesis para una muestra
 
8ºano mat correcao teste5 8ano_v1
8ºano mat correcao teste5  8ano_v18ºano mat correcao teste5  8ano_v1
8ºano mat correcao teste5 8ano_v1
 
11주차
11주차11주차
11주차
 
Atencion Cliente Textil
Atencion Cliente TextilAtencion Cliente Textil
Atencion Cliente Textil
 
Mariana busin
Mariana businMariana busin
Mariana busin
 
Ley fed resp admvas serv pub (1)
Ley fed resp admvas serv pub (1)Ley fed resp admvas serv pub (1)
Ley fed resp admvas serv pub (1)
 
Biorremediacion
BiorremediacionBiorremediacion
Biorremediacion
 
8ºano mat correcao questao aula 2(fev 2015)
8ºano mat correcao questao aula 2(fev 2015)8ºano mat correcao questao aula 2(fev 2015)
8ºano mat correcao questao aula 2(fev 2015)
 
Libro el nuevo sistema de justicia penal acusatorio. scjn
Libro el nuevo sistema de justicia penal acusatorio. scjnLibro el nuevo sistema de justicia penal acusatorio. scjn
Libro el nuevo sistema de justicia penal acusatorio. scjn
 
Secuencia didáctica
Secuencia didácticaSecuencia didáctica
Secuencia didáctica
 
Pmirs ctpga 2010
Pmirs ctpga 2010Pmirs ctpga 2010
Pmirs ctpga 2010
 
Turismo experiencial plan del turismo español horizonte 2020
Turismo experiencial plan del turismo español horizonte 2020 Turismo experiencial plan del turismo español horizonte 2020
Turismo experiencial plan del turismo español horizonte 2020
 
Rutas de aprendizaje 2014 0 dec juli
Rutas de aprendizaje 2014 0 dec juliRutas de aprendizaje 2014 0 dec juli
Rutas de aprendizaje 2014 0 dec juli
 
Apresentação Lidiane
Apresentação LidianeApresentação Lidiane
Apresentação Lidiane
 
Unam fesc planeación de ventas doc
Unam fesc planeación de ventas docUnam fesc planeación de ventas doc
Unam fesc planeación de ventas doc
 

Similar a Grafos

Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)
Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)
Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)José Antonio Sandoval Acosta
 
08 strings o cadenas
08 strings o cadenas08 strings o cadenas
08 strings o cadenashorusblom
 
Grafos-2021.pdf
Grafos-2021.pdfGrafos-2021.pdf
Grafos-2021.pdfNathanLux3
 
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (2)
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (2)3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (2)
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (2)luis freddy
 
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (5)
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (5)3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (5)
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (5)luis freddy
 
Ejercicios programacion cortos
Ejercicios programacion cortosEjercicios programacion cortos
Ejercicios programacion cortosmilanollarves
 
Matlab presentacion enero2012
Matlab presentacion enero2012Matlab presentacion enero2012
Matlab presentacion enero2012gerardoarbito
 
GRAFICOS POLARES CLASE 8 2023.pdf
GRAFICOS POLARES CLASE 8 2023.pdfGRAFICOS POLARES CLASE 8 2023.pdf
GRAFICOS POLARES CLASE 8 2023.pdfNandoMartiHufer
 
COMANDOS EJEMPLOS DE MATLAB.pdf
COMANDOS EJEMPLOS DE MATLAB.pdfCOMANDOS EJEMPLOS DE MATLAB.pdf
COMANDOS EJEMPLOS DE MATLAB.pdfSolitarioFredd
 
Agrupamiento Kmeans
Agrupamiento KmeansAgrupamiento Kmeans
Agrupamiento KmeansOmar Sanchez
 
Graficos en matlab
Graficos en matlabGraficos en matlab
Graficos en matlabMarc Llanos
 
Guia De Practica 3
Guia De Practica 3Guia De Practica 3
Guia De Practica 3louis
 

Similar a Grafos (20)

Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)
Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)
Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)
 
08 strings o cadenas
08 strings o cadenas08 strings o cadenas
08 strings o cadenas
 
Grafos-2021.pdf
Grafos-2021.pdfGrafos-2021.pdf
Grafos-2021.pdf
 
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (2)
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (2)3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (2)
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (2)
 
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (5)
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (5)3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (5)
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (5)
 
Ejercicios programacion cortos
Ejercicios programacion cortosEjercicios programacion cortos
Ejercicios programacion cortos
 
Matlab presentacion enero2012
Matlab presentacion enero2012Matlab presentacion enero2012
Matlab presentacion enero2012
 
Informe tecnico
Informe tecnicoInforme tecnico
Informe tecnico
 
MéTodos Java
MéTodos JavaMéTodos Java
MéTodos Java
 
Funciones str
Funciones strFunciones str
Funciones str
 
GRAFICOS POLARES CLASE 8 2023.pdf
GRAFICOS POLARES CLASE 8 2023.pdfGRAFICOS POLARES CLASE 8 2023.pdf
GRAFICOS POLARES CLASE 8 2023.pdf
 
COMANDOS EJEMPLOS DE MATLAB.pdf
COMANDOS EJEMPLOS DE MATLAB.pdfCOMANDOS EJEMPLOS DE MATLAB.pdf
COMANDOS EJEMPLOS DE MATLAB.pdf
 
Agrupamiento Kmeans
Agrupamiento KmeansAgrupamiento Kmeans
Agrupamiento Kmeans
 
expo
expoexpo
expo
 
Graficos en matlab
Graficos en matlabGraficos en matlab
Graficos en matlab
 
Guia De Practica 3
Guia De Practica 3Guia De Practica 3
Guia De Practica 3
 
Strcat
StrcatStrcat
Strcat
 
Plots
PlotsPlots
Plots
 
Cadenas y punteros.ppt
Cadenas y punteros.pptCadenas y punteros.ppt
Cadenas y punteros.ppt
 
Luis Gamboa
Luis  GamboaLuis  Gamboa
Luis Gamboa
 

Último

Gestion de rendicion de cuentas viaticos.pptx
Gestion de rendicion de cuentas viaticos.pptxGestion de rendicion de cuentas viaticos.pptx
Gestion de rendicion de cuentas viaticos.pptxignaciomiguel162
 
Clima-laboral-estrategias-de-medicion-e-book-1.pdf
Clima-laboral-estrategias-de-medicion-e-book-1.pdfClima-laboral-estrategias-de-medicion-e-book-1.pdf
Clima-laboral-estrategias-de-medicion-e-book-1.pdfConstructiva
 
Como Construir Un Modelo De Negocio.pdf nociones basicas
Como Construir Un Modelo De Negocio.pdf   nociones basicasComo Construir Un Modelo De Negocio.pdf   nociones basicas
Como Construir Un Modelo De Negocio.pdf nociones basicasoscarhernandez98241
 
Nota de clase 72 aspectos sobre salario, nomina y parafiscales.pdf
Nota de clase 72 aspectos sobre salario, nomina y parafiscales.pdfNota de clase 72 aspectos sobre salario, nomina y parafiscales.pdf
Nota de clase 72 aspectos sobre salario, nomina y parafiscales.pdfJUANMANUELLOPEZPEREZ
 
Presentacion III ACTIVIDADES DE CONTROL. IV UNIDAD..pdf
Presentacion III ACTIVIDADES DE CONTROL. IV UNIDAD..pdfPresentacion III ACTIVIDADES DE CONTROL. IV UNIDAD..pdf
Presentacion III ACTIVIDADES DE CONTROL. IV UNIDAD..pdfLuisAlbertoAlvaradoF2
 
Buenas Practicas de Almacenamiento en droguerias
Buenas Practicas de Almacenamiento en drogueriasBuenas Practicas de Almacenamiento en droguerias
Buenas Practicas de Almacenamiento en drogueriasmaicholfc
 
cuadro sinoptico tipos de organizaci.pdf
cuadro sinoptico tipos de organizaci.pdfcuadro sinoptico tipos de organizaci.pdf
cuadro sinoptico tipos de organizaci.pdfjesuseleazarcenuh
 
PIA MATEMATICAS FINANCIERAS SOBRE PROBLEMAS DE ANUALIDAD.pptx
PIA MATEMATICAS FINANCIERAS SOBRE PROBLEMAS DE ANUALIDAD.pptxPIA MATEMATICAS FINANCIERAS SOBRE PROBLEMAS DE ANUALIDAD.pptx
PIA MATEMATICAS FINANCIERAS SOBRE PROBLEMAS DE ANUALIDAD.pptxJosePuentePadronPuen
 
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESA
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESACOPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESA
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESADanielAndresBrand
 
Presentación Final Riesgo de Crédito.pptx
Presentación Final Riesgo de Crédito.pptxPresentación Final Riesgo de Crédito.pptx
Presentación Final Riesgo de Crédito.pptxIvnAndres5
 
instrumentos de mercados financieros para estudiantes
instrumentos de mercados financieros  para estudiantesinstrumentos de mercados financieros  para estudiantes
instrumentos de mercados financieros para estudiantessuperamigo2014
 
modulo+penal+del+16+al+20+hhggde+enero.pdf
modulo+penal+del+16+al+20+hhggde+enero.pdfmodulo+penal+del+16+al+20+hhggde+enero.pdf
modulo+penal+del+16+al+20+hhggde+enero.pdfmisssusanalrescate01
 
Ejemplo Caso: El Juego de la negociación
Ejemplo Caso: El Juego de la negociaciónEjemplo Caso: El Juego de la negociación
Ejemplo Caso: El Juego de la negociaciónlicmarinaglez
 
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAYPPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAYCarlosAlbertoVillafu3
 
informacion-finanTFHHETHAETHciera-2022.pdf
informacion-finanTFHHETHAETHciera-2022.pdfinformacion-finanTFHHETHAETHciera-2022.pdf
informacion-finanTFHHETHAETHciera-2022.pdfPriscilaBermello
 
ADMINISTRACION FINANCIERA CAPITULO 4.pdf
ADMINISTRACION FINANCIERA CAPITULO 4.pdfADMINISTRACION FINANCIERA CAPITULO 4.pdf
ADMINISTRACION FINANCIERA CAPITULO 4.pdfguillencuevaadrianal
 
Clase 2 Ecosistema Emprendedor en Chile.
Clase 2 Ecosistema Emprendedor en Chile.Clase 2 Ecosistema Emprendedor en Chile.
Clase 2 Ecosistema Emprendedor en Chile.Gonzalo Morales Esparza
 
DELITOS CONTRA LA GESTION PUBLICA PPT.pdf
DELITOS CONTRA LA GESTION PUBLICA PPT.pdfDELITOS CONTRA LA GESTION PUBLICA PPT.pdf
DELITOS CONTRA LA GESTION PUBLICA PPT.pdfJaquelinRamos6
 
LIC-ZIEGLER-Planificación y Control de Gestión
LIC-ZIEGLER-Planificación y Control de GestiónLIC-ZIEGLER-Planificación y Control de Gestión
LIC-ZIEGLER-Planificación y Control de GestiónBahamondesOscar
 

Último (20)

Gestion de rendicion de cuentas viaticos.pptx
Gestion de rendicion de cuentas viaticos.pptxGestion de rendicion de cuentas viaticos.pptx
Gestion de rendicion de cuentas viaticos.pptx
 
Clima-laboral-estrategias-de-medicion-e-book-1.pdf
Clima-laboral-estrategias-de-medicion-e-book-1.pdfClima-laboral-estrategias-de-medicion-e-book-1.pdf
Clima-laboral-estrategias-de-medicion-e-book-1.pdf
 
Como Construir Un Modelo De Negocio.pdf nociones basicas
Como Construir Un Modelo De Negocio.pdf   nociones basicasComo Construir Un Modelo De Negocio.pdf   nociones basicas
Como Construir Un Modelo De Negocio.pdf nociones basicas
 
Nota de clase 72 aspectos sobre salario, nomina y parafiscales.pdf
Nota de clase 72 aspectos sobre salario, nomina y parafiscales.pdfNota de clase 72 aspectos sobre salario, nomina y parafiscales.pdf
Nota de clase 72 aspectos sobre salario, nomina y parafiscales.pdf
 
Tarea-4-Estadistica-Descriptiva-Materia.ppt
Tarea-4-Estadistica-Descriptiva-Materia.pptTarea-4-Estadistica-Descriptiva-Materia.ppt
Tarea-4-Estadistica-Descriptiva-Materia.ppt
 
Presentacion III ACTIVIDADES DE CONTROL. IV UNIDAD..pdf
Presentacion III ACTIVIDADES DE CONTROL. IV UNIDAD..pdfPresentacion III ACTIVIDADES DE CONTROL. IV UNIDAD..pdf
Presentacion III ACTIVIDADES DE CONTROL. IV UNIDAD..pdf
 
Buenas Practicas de Almacenamiento en droguerias
Buenas Practicas de Almacenamiento en drogueriasBuenas Practicas de Almacenamiento en droguerias
Buenas Practicas de Almacenamiento en droguerias
 
cuadro sinoptico tipos de organizaci.pdf
cuadro sinoptico tipos de organizaci.pdfcuadro sinoptico tipos de organizaci.pdf
cuadro sinoptico tipos de organizaci.pdf
 
PIA MATEMATICAS FINANCIERAS SOBRE PROBLEMAS DE ANUALIDAD.pptx
PIA MATEMATICAS FINANCIERAS SOBRE PROBLEMAS DE ANUALIDAD.pptxPIA MATEMATICAS FINANCIERAS SOBRE PROBLEMAS DE ANUALIDAD.pptx
PIA MATEMATICAS FINANCIERAS SOBRE PROBLEMAS DE ANUALIDAD.pptx
 
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESA
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESACOPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESA
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESA
 
Presentación Final Riesgo de Crédito.pptx
Presentación Final Riesgo de Crédito.pptxPresentación Final Riesgo de Crédito.pptx
Presentación Final Riesgo de Crédito.pptx
 
instrumentos de mercados financieros para estudiantes
instrumentos de mercados financieros  para estudiantesinstrumentos de mercados financieros  para estudiantes
instrumentos de mercados financieros para estudiantes
 
modulo+penal+del+16+al+20+hhggde+enero.pdf
modulo+penal+del+16+al+20+hhggde+enero.pdfmodulo+penal+del+16+al+20+hhggde+enero.pdf
modulo+penal+del+16+al+20+hhggde+enero.pdf
 
Ejemplo Caso: El Juego de la negociación
Ejemplo Caso: El Juego de la negociaciónEjemplo Caso: El Juego de la negociación
Ejemplo Caso: El Juego de la negociación
 
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAYPPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
 
informacion-finanTFHHETHAETHciera-2022.pdf
informacion-finanTFHHETHAETHciera-2022.pdfinformacion-finanTFHHETHAETHciera-2022.pdf
informacion-finanTFHHETHAETHciera-2022.pdf
 
ADMINISTRACION FINANCIERA CAPITULO 4.pdf
ADMINISTRACION FINANCIERA CAPITULO 4.pdfADMINISTRACION FINANCIERA CAPITULO 4.pdf
ADMINISTRACION FINANCIERA CAPITULO 4.pdf
 
Clase 2 Ecosistema Emprendedor en Chile.
Clase 2 Ecosistema Emprendedor en Chile.Clase 2 Ecosistema Emprendedor en Chile.
Clase 2 Ecosistema Emprendedor en Chile.
 
DELITOS CONTRA LA GESTION PUBLICA PPT.pdf
DELITOS CONTRA LA GESTION PUBLICA PPT.pdfDELITOS CONTRA LA GESTION PUBLICA PPT.pdf
DELITOS CONTRA LA GESTION PUBLICA PPT.pdf
 
LIC-ZIEGLER-Planificación y Control de Gestión
LIC-ZIEGLER-Planificación y Control de GestiónLIC-ZIEGLER-Planificación y Control de Gestión
LIC-ZIEGLER-Planificación y Control de Gestión
 

Grafos

  • 1.
  • 2. GRAFOS: Estructura de datos no lineal (Programación no numérica) que permiten representar los diferentes tipos de relaciones entre objetos G=(N,A) Supongamos: N={1,2,3,4,5} Y la siguiente relación en A: R={(1,2);(2,3);(3,4);(4,5)} En forma de grafo sería: 1 2 3 4 5
  • 3.
  • 4. Búsqueda en Profundidad: Se implementa de forma recursiva, aunque también puede realizarse con una pila. Se utiliza un array “val” para almacenar el orden en que fueron explorados los vértices. int id=0; int val[V]; void buscar() { int i; for (i=1; i<=V; i++) val[i]=0; for (i=1; i<=V; i++) if (val[i]==0) visitar(i); } void visitar(int i) // matriz de adyacencia { int t; val[i]=++id; for (t=1; t<=V; t++) if (a[i][t] && val[t]==0) visitar(t); } void visitar(int i) // listas de adyacencia { nodo *t; val[i]=++id; for (t=a[i]; t!=z; t=t->sig) if (val[t->v]==0) visitar(t->v); }
  • 5. Representación de Grafos: Una característica especial en los grafos es que podemos representarlos utilizando dos estructuras de datos distintas. En los algoritmos que se aplican sobre ellos veremos que adoptarán tiempos distintos dependiendo de la forma de representación elegida. En particular, los tiempos de ejecución variarán en función del número de vértices y el de aristas, por lo que la utilización de una representación u otra dependerá en gran medida de si el grafo es denso o disperso. Para nombrar los nodos utilizaremos letras mayúsculas, aunque en el código deberemos hacer corresponder cada nodo con un entero entre 1 y N (número de nodos o vértices) de cara a la manipulación de los mismos.
  • 6. Obtención del camino de un Grafo: Método DIJKSTRA: es un algoritmo para la determinación del camino más corto dado un vértice origen al resto de vértices en un grafo dirigido y con pesos en cada arista . void iniciaGrafo() { for ( int i=1; <=n; i++) memset(&C[i][1], 0, n * sizeof(int)); } void insertarnodo( int a, int b, int c) { C[a][b] = C[b][a] = c; } int D[MAXN]; /* distancias mínima desde s al nodo i */ int padre[MAXN]; /* ruta hacia el nodo i desde s */ int permanente[MAXN]; /* verdadero al tener la menor ruta al nodo i */
  • 7. // calculamos las distancias while ( ! pq.empty() ) { nodotmp = pq.top(); pq.pop(); Vi = nodotmp.second; if ( !permanente[Vi] ) { permanente[Vi] = true ; for (Vj = 1; Vj <= n; Vj++) if (!permanente[Vj] && C[Vi][Vj]>0 && D[Vi]+C[Vi][Vj]<D[Vj]) D[Vj] = D[Vi] + C[Vi][Vj], padre[Vj] = Vi, pq.push( pair <int,int> (-D[Vj], Vj) ); } } } // leemos las aristas for ( int i=0; i<e; i++) cout <<“Ingrese Arista1: ”; cin >>a; cout <<“Ingrese Arista2: ”; cin >>b; cout <<“Ingrese Arista3: ”; cin>>c; insertanodo(a, b, c); // usamos dijkstra para calcular la menor distancia // desde el i-esimo nodo hacia los demas for ( int i=1; i<=n; i++) dijkstra( i ), cout <<“La menor distancia desde el nodo hacia los otros nodos es: “<< i; imprimeGrafo(n), cout <<endl; }
  • 8. Método WARSHALL: Para lograr el propósito del recorrido mínimo dentro de un grafo G, es necesario para nuestro caso en particular (puesto que no es la única técnica existente) la utilización del algoritmo de WARSHALL para el camino mínimo, el cual se expresa de la forma siguiente:
  • 9. #include <stdio.h> #include <conio.h> #include <ctype.h> #include <stdlib.h> #include <iostream.h> #include <string.h> #define N 50 struct grafo {int dato; grafo *grafo[N]; grafo *sig; }*Pgrafo; grafo *insertar(grafo *nodo, grafo *Agrafo, int num) {if( !Agrafo ) {Agrafo= (grafo*) malloc( sizeof( grafo ) ); Agrafo->sig= NULL; Agrafo->dato= num; if( !nodo ) return Agrafo; else nodo->sig= Agrafo; return Agrafo; }
  • 10. insertar( Agrafo, Agrafo->sig, num ); return nodo;} int enlazarfull( grafo *nodo ) { int i; int vacio; if( !nodo->sig )return 0; for( i=0;i<vacio(nodo);i++ ) nodo->grafo[i]= NULL; return 1;} void main() { char op='A'; int val; int i; while(op!='S' ) {clrscr(); cout<<&quot; [N].- Nuevo Nodo.&quot; ; cout<<&quot; [E].- Menu Enlazes.&quot;; cout<<&quot; [V].- Ver Grafo.&quot;; cout<<&quot; [S].- Salir.&quot;; cout<<&quot; Digite Opcion: [ ] &quot;; cin>>op;
  • 11. switch(op) { case 'N': cout<<&quot; Numero: &quot;; cin>>(&quot;&i&quot;,&val); Pgrafo= insertar( Pgrafo, Pgrafo, val ); break; case 'E': enlazarfull(Pgrafo); break; case 'V': break; } } cout<<&quot; Pulsa una tecla para salir...&quot;; getch(); return 0; }
  • 12. GRACIAS TOTALES, nos vemos en el bingo