SlideShare una empresa de Scribd logo
1 de 13
Lenguajes de Programación  “BFS  en grafos” Expositores:  Guillermo, Oscar y Alonso
BFS    (BreadthFirstSearch) 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: 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.
Representación grafica  Ningún elemento en la cola. Cola: nodo a. Cola: nodos b y c. Cola: Nodos c, d y e Cola: Nodos d, e, f y g
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. “BreadthFirstSearch”-(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

Más contenido relacionado

La actualidad más candente

Cuadro comparativo de SMBD
Cuadro comparativo de SMBD Cuadro comparativo de SMBD
Cuadro comparativo de SMBD
Jazmin Glez.
 
Algoritmo de planificación srt
Algoritmo de planificación srtAlgoritmo de planificación srt
Algoritmo de planificación srt
Carlos Solano
 
1.2.4.5 packet tracer network representation - ilm
1.2.4.5 packet tracer   network representation - ilm1.2.4.5 packet tracer   network representation - ilm
1.2.4.5 packet tracer network representation - ilm
mariosaavedra27
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
Luis Jherry
 

La actualidad más candente (20)

Cuadro comparativo de SMBD
Cuadro comparativo de SMBD Cuadro comparativo de SMBD
Cuadro comparativo de SMBD
 
Ejercicios de subnetting
Ejercicios de subnetting Ejercicios de subnetting
Ejercicios de subnetting
 
Tema3
Tema3Tema3
Tema3
 
BD. control de concurrencia
BD. control de concurrenciaBD. control de concurrencia
BD. control de concurrencia
 
Modelo entidad-relacion sobre la plataforma NETFLIX
Modelo entidad-relacion sobre la plataforma NETFLIXModelo entidad-relacion sobre la plataforma NETFLIX
Modelo entidad-relacion sobre la plataforma NETFLIX
 
Modelo de datos
Modelo de datosModelo de datos
Modelo de datos
 
Ejercicios packet tracer_completo_2014
Ejercicios packet tracer_completo_2014Ejercicios packet tracer_completo_2014
Ejercicios packet tracer_completo_2014
 
REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER
REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTERREPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER
REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER
 
Arboles Binarios
Arboles BinariosArboles Binarios
Arboles Binarios
 
Conceptos de software
Conceptos de softwareConceptos de software
Conceptos de software
 
CODIGO DE HUFFMAN
CODIGO DE HUFFMANCODIGO DE HUFFMAN
CODIGO DE HUFFMAN
 
Arquitectura de computadoras
Arquitectura de computadorasArquitectura de computadoras
Arquitectura de computadoras
 
Integridad en las bases de datos
Integridad en las bases de datosIntegridad en las bases de datos
Integridad en las bases de datos
 
Segmetación de instrucciones
Segmetación de instruccionesSegmetación de instrucciones
Segmetación de instrucciones
 
Taller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL proceduralTaller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL procedural
 
Algoritmo de planificación srt
Algoritmo de planificación srtAlgoritmo de planificación srt
Algoritmo de planificación srt
 
Dis02
Dis02Dis02
Dis02
 
1.2.4.5 packet tracer network representation - ilm
1.2.4.5 packet tracer   network representation - ilm1.2.4.5 packet tracer   network representation - ilm
1.2.4.5 packet tracer network representation - ilm
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Transformación de Modelo E-R a Modelo Relacional Ejemplo y Reporte
Transformación de Modelo E-R a Modelo Relacional Ejemplo y ReporteTransformación de Modelo E-R a Modelo Relacional Ejemplo y Reporte
Transformación de Modelo E-R a Modelo Relacional Ejemplo y Reporte
 

Destacado (8)

Ejemplo bfs
Ejemplo bfsEjemplo bfs
Ejemplo bfs
 
Dfs
DfsDfs
Dfs
 
Depth-first Search
Depth-first SearchDepth-first Search
Depth-first Search
 
Dfs
DfsDfs
Dfs
 
F:\PostíTulo Lenguaje\Portafolio Felipe Rozas Calabrano\Publicaciones\Texto D...
F:\PostíTulo Lenguaje\Portafolio Felipe Rozas Calabrano\Publicaciones\Texto D...F:\PostíTulo Lenguaje\Portafolio Felipe Rozas Calabrano\Publicaciones\Texto D...
F:\PostíTulo Lenguaje\Portafolio Felipe Rozas Calabrano\Publicaciones\Texto D...
 
Recorrido de Grafos
Recorrido de GrafosRecorrido de Grafos
Recorrido de Grafos
 
Teoría de grafos
Teoría de grafosTeoría de grafos
Teoría de grafos
 
39702397 matematicas-discretas
39702397 matematicas-discretas39702397 matematicas-discretas
39702397 matematicas-discretas
 

Similar a Bfs en grafos (20)

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
 
Bfs en grafos
Bfs en grafosBfs en grafos
Bfs en grafos
 
Unidad IV
Unidad IVUnidad IV
Unidad IV
 
Ascii
AsciiAscii
Ascii
 
Grafos
GrafosGrafos
Grafos
 
Grafos
GrafosGrafos
Grafos
 
TRABAJO DE GRAFOS
TRABAJO DE GRAFOSTRABAJO DE GRAFOS
TRABAJO DE GRAFOS
 
Arbol
ArbolArbol
Arbol
 
Arbol
ArbolArbol
Arbol
 
Aplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafosAplicaciones de los árboles y grafos
Aplicaciones de los árboles y 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
 
Diapo teoria de grafos
Diapo teoria de grafosDiapo teoria de grafos
Diapo teoria de grafos
 
Grafos
GrafosGrafos
Grafos
 
Tema9 ne
Tema9 neTema9 ne
Tema9 ne
 
Capitulo1 grafos
Capitulo1 grafosCapitulo1 grafos
Capitulo1 grafos
 

Último

TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
NadiaMartnez11
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 

Último (20)

PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdf
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.
 
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptFUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
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
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
semana 4 9NO Estudios sociales.pptxnnnn
semana 4  9NO Estudios sociales.pptxnnnnsemana 4  9NO Estudios sociales.pptxnnnn
semana 4 9NO Estudios sociales.pptxnnnn
 

Bfs en grafos

  • 1. Lenguajes de Programación “BFS en grafos” Expositores: Guillermo, Oscar y Alonso
  • 2. BFS (BreadthFirstSearch) 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: 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. Representación grafica Ningún elemento en la cola. Cola: nodo a. Cola: nodos b y c. Cola: Nodos c, d y e Cola: Nodos d, e, f y g
  • 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. “BreadthFirstSearch”-(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