SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

La actualidad más candente

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
 

La actualidad más candente (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
 

Destacado

545 filosofia y filosofos - craig mitchell
545   filosofia y filosofos - craig mitchell545   filosofia y filosofos - craig mitchell
545 filosofia y filosofos - craig mitchelljosue villanueva
 
Tutorial Google Docs
Tutorial Google DocsTutorial Google Docs
Tutorial Google DocsMiguel Angel
 
Vaga Medicina - Med Imagem
Vaga Medicina - Med ImagemVaga Medicina - Med Imagem
Vaga Medicina - Med ImagemThemos Vagas
 
匐笱妘昜籵悛奪
匐笱妘昜籵悛奪匐笱妘昜籵悛奪
匐笱妘昜籵悛奪Jaing Lai
 
11 Bolivijská Silnice
11  Bolivijská Silnice11  Bolivijská Silnice
11 Bolivijská Silnicejedlickak
 
Fizikanejeteneperditshme 120918030444-phpapp01
Fizikanejeteneperditshme 120918030444-phpapp01Fizikanejeteneperditshme 120918030444-phpapp01
Fizikanejeteneperditshme 120918030444-phpapp01Arbenng
 
Feliz2009 Mafalda
Feliz2009 MafaldaFeliz2009 Mafalda
Feliz2009 Mafaldaomardasilva
 
PY Union Y fitting Push in Fitting
 PY Union Y fitting Push in Fitting PY Union Y fitting Push in Fitting
PY Union Y fitting Push in FittingJing YE
 

Destacado (19)

Img051
Img051Img051
Img051
 
Clone mac drive
Clone mac driveClone mac drive
Clone mac drive
 
Aprendizaje juvenil
Aprendizaje juvenilAprendizaje juvenil
Aprendizaje juvenil
 
545 filosofia y filosofos - craig mitchell
545   filosofia y filosofos - craig mitchell545   filosofia y filosofos - craig mitchell
545 filosofia y filosofos - craig mitchell
 
Puerta corredera automatica
Puerta corredera automaticaPuerta corredera automatica
Puerta corredera automatica
 
Preliminary task
Preliminary taskPreliminary task
Preliminary task
 
Tangerine 3
Tangerine 3Tangerine 3
Tangerine 3
 
Tutorial Google Docs
Tutorial Google DocsTutorial Google Docs
Tutorial Google Docs
 
Juan ramon jimenez
Juan ramon jimenezJuan ramon jimenez
Juan ramon jimenez
 
My flat plan
My flat planMy flat plan
My flat plan
 
Vaga Medicina - Med Imagem
Vaga Medicina - Med ImagemVaga Medicina - Med Imagem
Vaga Medicina - Med Imagem
 
Slideshare
SlideshareSlideshare
Slideshare
 
Sea
SeaSea
Sea
 
匐笱妘昜籵悛奪
匐笱妘昜籵悛奪匐笱妘昜籵悛奪
匐笱妘昜籵悛奪
 
Mathematical logics
Mathematical logicsMathematical logics
Mathematical logics
 
11 Bolivijská Silnice
11  Bolivijská Silnice11  Bolivijská Silnice
11 Bolivijská Silnice
 
Fizikanejeteneperditshme 120918030444-phpapp01
Fizikanejeteneperditshme 120918030444-phpapp01Fizikanejeteneperditshme 120918030444-phpapp01
Fizikanejeteneperditshme 120918030444-phpapp01
 
Feliz2009 Mafalda
Feliz2009 MafaldaFeliz2009 Mafalda
Feliz2009 Mafalda
 
PY Union Y fitting Push in Fitting
 PY Union Y fitting Push in Fitting PY Union Y fitting Push in Fitting
PY Union Y fitting Push in Fitting
 

Similar a Bfs en grafos

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 a Bfs en grafos (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
 

Más de 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
 

Más de 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
 

Último

Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptxolgakaterin
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxKarlaMassielMartinez
 
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
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
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
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 

Último (20)

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
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
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
 
Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptx
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
 
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...
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
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
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 

Bfs en grafos

  • 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