SlideShare a Scribd company logo
1 of 13
Lenguajes de Programación
“BFS en grafos”
Expositores:
Guillermo, Oscar y Alfonso
BFS (Breadth First Search)
BFS, Búsqueda en Anchura por sus siglas en ingles, es un algoritmo para recorrer o
buscar elementos en un grafo (usado frecuentemente sobre arboles)
Intuitivamente se comienza de la raíz y se exploran todos los vecinos de este nodo,
después para cada uno de los vecinos se exploran sus respectivos vecinos adyacentes
y así hasta que se recorra todo el árbol.
Para entender el funcionamiento el algoritmo BFS es necesario conocer algunos
conceptos básicos de la teoría de graficas, vistos anteriormente en matemáticas
discretas.
Graficas o grafos
Una Grafica G consiste en un conjunto V de vértices (o nodos) y un conjunto E de
aristas (o arcos) tal que cada arista E se asocia con un par no ordenado de vértices
Es una forma muy practica de modelar ciertos tipos de comportamiento, son
ampliamente usadas en las areas de las ciencias de la computación, química,
ingeniería eléctrica, economía, investigación de operaciones ,etc.
Un ejemplo que utilizaremos donde se usan los gráficos puede ser el siguiente mapa:
Formas de representar un grafo.
Ahora que conocemos bien las graficas, es hora de conocer las formas en que las
podemos representar de una manera mas formal, para así poder trabajar con dichas
graficas en la computadora.
Tenemos dos opciones para representar los grafos:
*Mediante una matriz de adyacencia.
*Mediante una lista de adyacencia.
Matriz de adyacencia
Considerando la siguiente grafica:
1 2 3 4 5 6 7
1 0 0 1 1 1 1 0
2 0 0 0 0 0 0 0
3 1 0 0 1 1 0 0
4 1 0 1 0 0 0 0
5 1 0 1 0 0 0 0
6 1 0 0 0 0 0 0
7 0 0 0 0 0 0 0
Esta seria su matriz de adyacencia.
En donde representamos cada uno de los caminos posibles entre
nodo y nodo utilizando ceros y unos.
Lista de adyacencia
Considerando la siguiente grafica:
Esta seria su lista de adyacencia.
En donde representamos todos los posibles caminos entre nodos ,
agrupados como una lista y a un lado todos los nodos vecinos.
Algoritmo BFS escrito en pseudocódigo
El algoritmo BFS requiere de una estructura auxiliar para almacenar el resultado de
los nodos visitados, entonces haremos uso de una estructura tipo cola.
Definimos tres colores para un nodo:
• blanco no ha sido procesado.
• gris está en la cola de procesos.
• negro ya ha sido procesado.
• Encolar significa almacenar un elemento al
final.
• Decolar significa remover el elemento en la
cabeza.
Cola: nodo a. Cola: nodos b y c.Ningún elemento en la cola.
Cola: Nodos c, d y e Cola: Nodos d, e, f y g
Representación grafica
Algoritmo BFS escrito en pseudocódigo
función BFS(Grafo g, Nodo inicio, Nodo destino) {
pintamos todos los nodos de G de blanco.
encolamos inicio
mientras que aún haya nodos por procesar {
decolamos el nodo actual
si actual == destino {
retornamos ÉXITO;
}
para cada vecino de actual {
si el nodo es blanco {
encolamos vecino;
}
}
pintamos actual de negro
} // fin ciclo de procesos
retornamos FALLO;
}
Implementación en lenguaje C++ mediante
una matriz de adyacencia.
Dado el siguiente grafo
Obtenemos su matriz de adyacencia
Implementación en lenguaje C++ mediante una matriz de
adyacencia.
Referencias Bibliográficas.
“Matemáticas Discretas”- 6 Edición. Richard Johnsonbaugh.
“Estructuras de Datos”-3 Edición. Osvaldo Cairo y Silvia Guardati.
“Breadth First Search”-(Documento en línea) Carlos Obregón,
cobregon@uniminuto.edu
“Algoritmos basicos de grafos”- (Documento en linea) Ernesto Coto ISSN 1316-
6239
“Búsqueda en anchura-Wikipedia”-(Documento en linea)
http://es.wikipedia.org/wiki/B%C3%BAsqueda_en_anchura

More Related Content

What's hot

Ficha repaso números enteros
Ficha repaso números enterosFicha repaso números enteros
Ficha repaso números enterosMar Tuxi
 
Rc elias aleman
Rc elias alemanRc elias aleman
Rc elias alemanaleman11
 
Graficas
GraficasGraficas
Graficascrucas
 
Bibliotecas mas importantes en c++
Bibliotecas mas importantes en c++Bibliotecas mas importantes en c++
Bibliotecas mas importantes en c++NeliRS2027
 
Graficas sencillas matlab
Graficas sencillas matlabGraficas sencillas matlab
Graficas sencillas matlabAlex Toapanta
 
Trabajo de calculo ii marco perez
Trabajo de calculo ii marco perezTrabajo de calculo ii marco perez
Trabajo de calculo ii marco perezMarcoAPerezMartinez
 

What's hot (13)

Taller de graphmatica
Taller de graphmaticaTaller de graphmatica
Taller de graphmatica
 
Éxito y Fracáso
Éxito y FracásoÉxito y Fracáso
Éxito y Fracáso
 
Tarea 1 bash
Tarea 1 bashTarea 1 bash
Tarea 1 bash
 
INVESTIGACIÓN DE LIBRERÍAS
INVESTIGACIÓN DE LIBRERÍAS INVESTIGACIÓN DE LIBRERÍAS
INVESTIGACIÓN DE LIBRERÍAS
 
Ficha repaso números enteros
Ficha repaso números enterosFicha repaso números enteros
Ficha repaso números enteros
 
Taller3
Taller3Taller3
Taller3
 
Rc elias aleman
Rc elias alemanRc elias aleman
Rc elias aleman
 
Graficas
GraficasGraficas
Graficas
 
Bibliotecas mas importantes en c++
Bibliotecas mas importantes en c++Bibliotecas mas importantes en c++
Bibliotecas mas importantes en c++
 
Graficas sencillas matlab
Graficas sencillas matlabGraficas sencillas matlab
Graficas sencillas matlab
 
Trabajo de calculo ii marco perez
Trabajo de calculo ii marco perezTrabajo de calculo ii marco perez
Trabajo de calculo ii marco perez
 
Gráficos en matlab
Gráficos en matlabGráficos en matlab
Gráficos en matlab
 
Sistema binario
Sistema binarioSistema binario
Sistema binario
 

Viewers also liked

A Distributed Stallable Architecture to Handle Delay Variations
A Distributed Stallable Architecture to Handle Delay VariationsA Distributed Stallable Architecture to Handle Delay Variations
A Distributed Stallable Architecture to Handle Delay Variationsgreendisc
 
PLANET, PLANET-COMERCIAL, PLANET-REGIONAL
PLANET, PLANET-COMERCIAL, PLANET-REGIONALPLANET, PLANET-COMERCIAL, PLANET-REGIONAL
PLANET, PLANET-COMERCIAL, PLANET-REGIONALrayven728
 
Slideshare
SlideshareSlideshare
Slidesharegunner95
 
Prevention deck 1 with voice
Prevention deck 1 with voicePrevention deck 1 with voice
Prevention deck 1 with voicemarkovich4
 
Zmpczm017000.11.09
Zmpczm017000.11.09Zmpczm017000.11.09
Zmpczm017000.11.09painezeeman
 
Diari del 6 de novembre de 2014
Diari del 6 de novembre de 2014Diari del 6 de novembre de 2014
Diari del 6 de novembre de 2014diarimes
 
Nora with friends
Nora with friendsNora with friends
Nora with friendshv 920
 
Socials assignment #1
Socials assignment #1Socials assignment #1
Socials assignment #1Widd-Audd
 
Association between quality of clinical practice guidelines and citations giv...
Association between quality of clinical practice guidelines and citations giv...Association between quality of clinical practice guidelines and citations giv...
Association between quality of clinical practice guidelines and citations giv...Jens Peter Andersen
 

Viewers also liked (20)

Summary of Recommendations
Summary of RecommendationsSummary of Recommendations
Summary of Recommendations
 
A Distributed Stallable Architecture to Handle Delay Variations
A Distributed Stallable Architecture to Handle Delay VariationsA Distributed Stallable Architecture to Handle Delay Variations
A Distributed Stallable Architecture to Handle Delay Variations
 
O Corpo Humano
O Corpo HumanoO Corpo Humano
O Corpo Humano
 
PLANET, PLANET-COMERCIAL, PLANET-REGIONAL
PLANET, PLANET-COMERCIAL, PLANET-REGIONALPLANET, PLANET-COMERCIAL, PLANET-REGIONAL
PLANET, PLANET-COMERCIAL, PLANET-REGIONAL
 
Brayanpalomino
BrayanpalominoBrayanpalomino
Brayanpalomino
 
Slideshare
SlideshareSlideshare
Slideshare
 
MAE - Informe diario 04-04-2014
MAE - Informe diario 04-04-2014MAE - Informe diario 04-04-2014
MAE - Informe diario 04-04-2014
 
Prevention deck 1 with voice
Prevention deck 1 with voicePrevention deck 1 with voice
Prevention deck 1 with voice
 
Can ho Lexington Quan 2
Can ho Lexington Quan 2Can ho Lexington Quan 2
Can ho Lexington Quan 2
 
Balance and contrast
Balance and contrastBalance and contrast
Balance and contrast
 
Taler De Refuerz1
Taler De Refuerz1Taler De Refuerz1
Taler De Refuerz1
 
Ponencia La vida es bella
Ponencia La vida es bellaPonencia La vida es bella
Ponencia La vida es bella
 
Ohjelma
OhjelmaOhjelma
Ohjelma
 
Zmpczm017000.11.09
Zmpczm017000.11.09Zmpczm017000.11.09
Zmpczm017000.11.09
 
MAE - Informe diario 04-06-2014
MAE - Informe diario 04-06-2014MAE - Informe diario 04-06-2014
MAE - Informe diario 04-06-2014
 
Diari del 6 de novembre de 2014
Diari del 6 de novembre de 2014Diari del 6 de novembre de 2014
Diari del 6 de novembre de 2014
 
Nora with friends
Nora with friendsNora with friends
Nora with friends
 
Socials assignment #1
Socials assignment #1Socials assignment #1
Socials assignment #1
 
Association between quality of clinical practice guidelines and citations giv...
Association between quality of clinical practice guidelines and citations giv...Association between quality of clinical practice guidelines and citations giv...
Association between quality of clinical practice guidelines and citations giv...
 
Bstudent ' s heart
Bstudent ' s heartBstudent ' s heart
Bstudent ' s heart
 

Similar to BFS grafos algoritmo

TRABAJO DE GRAFOS
TRABAJO DE GRAFOSTRABAJO DE GRAFOS
TRABAJO DE GRAFOSOsirysRock
 
Tema 5 diapositivas de la teoría de grafos.pptx
Tema 5 diapositivas de la teoría de grafos.pptxTema 5 diapositivas de la teoría de grafos.pptx
Tema 5 diapositivas de la teoría de grafos.pptxAndreFurios
 
Sesión 3 - Introducción a la Investigación de Operaciones.pdf
Sesión 3 - Introducción a la Investigación de Operaciones.pdfSesión 3 - Introducción a la Investigación de Operaciones.pdf
Sesión 3 - Introducción a la Investigación de Operaciones.pdfWilfrido34
 
Análisis de llamadas telefónicas con Teoría de Grafos y R
Análisis de llamadas telefónicas con Teoría de Grafos y RAnálisis de llamadas telefónicas con Teoría de Grafos y R
Análisis de llamadas telefónicas con Teoría de Grafos y RRafael Nogueras
 
Presentacion del Proyecto de Construccion de una Wiki - Grupo 3
Presentacion del Proyecto de Construccion de una Wiki - Grupo 3Presentacion del Proyecto de Construccion de una Wiki - Grupo 3
Presentacion del Proyecto de Construccion de una Wiki - Grupo 3matediscretas
 
Estructura de datos avanzada
Estructura de datos avanzadaEstructura de datos avanzada
Estructura de datos avanzadaMaestros en Linea
 
Estructura de datos avanzada
Estructura de datos avanzadaEstructura de datos avanzada
Estructura de datos avanzadaMaestros Online
 
Matlab introducción-clase3
Matlab introducción-clase3Matlab introducción-clase3
Matlab introducción-clase3Maggy Judith
 

Similar to BFS grafos algoritmo (20)

Unidad IV
Unidad IVUnidad IV
Unidad IV
 
Ascii
AsciiAscii
Ascii
 
Tema9 ne
Tema9 neTema9 ne
Tema9 ne
 
TRABAJO DE GRAFOS
TRABAJO DE GRAFOSTRABAJO DE GRAFOS
TRABAJO DE GRAFOS
 
Tema 5 diapositivas de la teoría de grafos.pptx
Tema 5 diapositivas de la teoría de grafos.pptxTema 5 diapositivas de la teoría de grafos.pptx
Tema 5 diapositivas de la teoría de grafos.pptx
 
Grafos
GrafosGrafos
Grafos
 
Grafos
GrafosGrafos
Grafos
 
Grafos
GrafosGrafos
Grafos
 
Teoría de grafos
Teoría de grafosTeoría de grafos
Teoría de grafos
 
Sesión 3 - Introducción a la Investigación de Operaciones.pdf
Sesión 3 - Introducción a la Investigación de Operaciones.pdfSesión 3 - Introducción a la Investigación de Operaciones.pdf
Sesión 3 - Introducción a la Investigación de Operaciones.pdf
 
Aplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafosAplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafos
 
Análisis de llamadas telefónicas con Teoría de Grafos y R
Análisis de llamadas telefónicas con Teoría de Grafos y RAnálisis de llamadas telefónicas con Teoría de Grafos y R
Análisis de llamadas telefónicas con Teoría de Grafos y R
 
Presentacion del Proyecto de Construccion de una Wiki - Grupo 3
Presentacion del Proyecto de Construccion de una Wiki - Grupo 3Presentacion del Proyecto de Construccion de una Wiki - Grupo 3
Presentacion del Proyecto de Construccion de una Wiki - Grupo 3
 
Arbol
ArbolArbol
Arbol
 
Arbol
ArbolArbol
Arbol
 
revista de grafo
revista de graforevista de grafo
revista de grafo
 
Estructura de datos avanzada
Estructura de datos avanzadaEstructura de datos avanzada
Estructura de datos avanzada
 
Estructura de datos avanzada
Estructura de datos avanzadaEstructura de datos avanzada
Estructura de datos avanzada
 
Matlab introducción-clase3
Matlab introducción-clase3Matlab introducción-clase3
Matlab introducción-clase3
 
Actividad #7, subgrupo #4
Actividad #7, subgrupo #4Actividad #7, subgrupo #4
Actividad #7, subgrupo #4
 

More from Oscar Jose

Generador de codigo_intermedio
Generador de codigo_intermedioGenerador de codigo_intermedio
Generador de codigo_intermedioOscar Jose
 
Generador de codigo_intermedio
Generador de codigo_intermedioGenerador de codigo_intermedio
Generador de codigo_intermedioOscar Jose
 
C:\fakepath\generador de codigo_intermedio
C:\fakepath\generador de codigo_intermedioC:\fakepath\generador de codigo_intermedio
C:\fakepath\generador de codigo_intermedioOscar Jose
 

More from Oscar Jose (10)

Bfs en grafos
Bfs en grafosBfs en grafos
Bfs en grafos
 
Bfs en grafos
Bfs en grafosBfs en grafos
Bfs en grafos
 
Bfs en grafos
Bfs en grafosBfs en grafos
Bfs en grafos
 
Bfs en grafos
Bfs en grafosBfs en grafos
Bfs en grafos
 
Bfs en grafos
Bfs en grafosBfs en grafos
Bfs en grafos
 
Palindromos
PalindromosPalindromos
Palindromos
 
Palindromos
PalindromosPalindromos
Palindromos
 
Generador de codigo_intermedio
Generador de codigo_intermedioGenerador de codigo_intermedio
Generador de codigo_intermedio
 
Generador de codigo_intermedio
Generador de codigo_intermedioGenerador de codigo_intermedio
Generador de codigo_intermedio
 
C:\fakepath\generador de codigo_intermedio
C:\fakepath\generador de codigo_intermedioC:\fakepath\generador de codigo_intermedio
C:\fakepath\generador de codigo_intermedio
 

Recently uploaded

ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesYanirisBarcelDelaHoz
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSYadi Campos
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 

Recently uploaded (20)

ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 

BFS grafos algoritmo

  • 1. Lenguajes de Programación “BFS en grafos” Expositores: Guillermo, Oscar y Alfonso
  • 2. BFS (Breadth First Search) BFS, Búsqueda en Anchura por sus siglas en ingles, es un algoritmo para recorrer o buscar elementos en un grafo (usado frecuentemente sobre arboles) Intuitivamente se comienza de la raíz y se exploran todos los vecinos de este nodo, después para cada uno de los vecinos se exploran sus respectivos vecinos adyacentes y así hasta que se recorra todo el árbol. Para entender el funcionamiento el algoritmo BFS es necesario conocer algunos conceptos básicos de la teoría de graficas, vistos anteriormente en matemáticas discretas.
  • 3. Graficas o grafos Una Grafica G consiste en un conjunto V de vértices (o nodos) y un conjunto E de aristas (o arcos) tal que cada arista E se asocia con un par no ordenado de vértices Es una forma muy practica de modelar ciertos tipos de comportamiento, son ampliamente usadas en las areas de las ciencias de la computación, química, ingeniería eléctrica, economía, investigación de operaciones ,etc. Un ejemplo que utilizaremos donde se usan los gráficos puede ser el siguiente mapa:
  • 4. Formas de representar un grafo. Ahora que conocemos bien las graficas, es hora de conocer las formas en que las podemos representar de una manera mas formal, para así poder trabajar con dichas graficas en la computadora. Tenemos dos opciones para representar los grafos: *Mediante una matriz de adyacencia. *Mediante una lista de adyacencia.
  • 5. Matriz de adyacencia Considerando la siguiente grafica: 1 2 3 4 5 6 7 1 0 0 1 1 1 1 0 2 0 0 0 0 0 0 0 3 1 0 0 1 1 0 0 4 1 0 1 0 0 0 0 5 1 0 1 0 0 0 0 6 1 0 0 0 0 0 0 7 0 0 0 0 0 0 0 Esta seria su matriz de adyacencia. En donde representamos cada uno de los caminos posibles entre nodo y nodo utilizando ceros y unos.
  • 6. Lista de adyacencia Considerando la siguiente grafica: Esta seria su lista de adyacencia. En donde representamos todos los posibles caminos entre nodos , agrupados como una lista y a un lado todos los nodos vecinos.
  • 7. Algoritmo BFS escrito en pseudocódigo El algoritmo BFS requiere de una estructura auxiliar para almacenar el resultado de los nodos visitados, entonces haremos uso de una estructura tipo cola. Definimos tres colores para un nodo: • blanco no ha sido procesado. • gris está en la cola de procesos. • negro ya ha sido procesado. • Encolar significa almacenar un elemento al final. • Decolar significa remover el elemento en la cabeza.
  • 8. Cola: nodo a. Cola: nodos b y c.Ningún elemento en la cola. Cola: Nodos c, d y e Cola: Nodos d, e, f y g Representación grafica
  • 9. Algoritmo BFS escrito en pseudocódigo función BFS(Grafo g, Nodo inicio, Nodo destino) { pintamos todos los nodos de G de blanco. encolamos inicio mientras que aún haya nodos por procesar { decolamos el nodo actual si actual == destino { retornamos ÉXITO; } para cada vecino de actual { si el nodo es blanco { encolamos vecino; } } pintamos actual de negro } // fin ciclo de procesos retornamos FALLO; }
  • 10. Implementación en lenguaje C++ mediante una matriz de adyacencia. Dado el siguiente grafo Obtenemos su matriz de adyacencia
  • 11. Implementación en lenguaje C++ mediante una matriz de adyacencia.
  • 12.
  • 13. Referencias Bibliográficas. “Matemáticas Discretas”- 6 Edición. Richard Johnsonbaugh. “Estructuras de Datos”-3 Edición. Osvaldo Cairo y Silvia Guardati. “Breadth First Search”-(Documento en línea) Carlos Obregón, cobregon@uniminuto.edu “Algoritmos basicos de grafos”- (Documento en linea) Ernesto Coto ISSN 1316- 6239 “Búsqueda en anchura-Wikipedia”-(Documento en linea) http://es.wikipedia.org/wiki/B%C3%BAsqueda_en_anchura