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.
Bfs en grafos
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

PPTX
Bfs en grafos
PDF
PPTX
DOCX
funciones
PPTX
Asigancion #3
PPT
Grafos
PDF
4ºeso vacaciones 2ªeval
PPTX
Diapo funciones
Bfs en grafos
funciones
Asigancion #3
Grafos
4ºeso vacaciones 2ªeval
Diapo funciones

La actualidad más candente (13)

PDF
Taller de graphmatica
DOCX
Éxito y Fracáso
PPT
Tarea 1 bash
DOCX
INVESTIGACIÓN DE LIBRERÍAS
PDF
Ficha repaso números enteros
PDF
Taller3
PPT
Rc elias aleman
PPTX
Graficas
DOCX
Bibliotecas mas importantes en c++
PDF
Graficas sencillas matlab
PPTX
Trabajo de calculo ii marco perez
PPTX
Gráficos en matlab
DOCX
Sistema binario
Taller de graphmatica
Éxito y Fracáso
Tarea 1 bash
INVESTIGACIÓN DE LIBRERÍAS
Ficha repaso números enteros
Taller3
Rc elias aleman
Graficas
Bibliotecas mas importantes en c++
Graficas sencillas matlab
Trabajo de calculo ii marco perez
Gráficos en matlab
Sistema binario
Publicidad

Destacado (20)

PPS
Summary of Recommendations
PDF
A Distributed Stallable Architecture to Handle Delay Variations
PPS
O Corpo Humano
PPT
PLANET, PLANET-COMERCIAL, PLANET-REGIONAL
DOCX
Brayanpalomino
PPTX
Slideshare
PDF
MAE - Informe diario 04-04-2014
PPTX
Prevention deck 1 with voice
PPTX
Can ho Lexington Quan 2
PPTX
Balance and contrast
DOCX
Taler De Refuerz1
PDF
Ponencia La vida es bella
PDF
PDF
Zmpczm017000.11.09
PDF
MAE - Informe diario 04-06-2014
PDF
Diari del 6 de novembre de 2014
PPT
Nora with friends
PPTX
Socials assignment #1
PPTX
Association between quality of clinical practice guidelines and citations giv...
PPTX
Bstudent ' s heart
Summary of Recommendations
A Distributed Stallable Architecture to Handle Delay Variations
O Corpo Humano
PLANET, PLANET-COMERCIAL, PLANET-REGIONAL
Brayanpalomino
Slideshare
MAE - Informe diario 04-04-2014
Prevention deck 1 with voice
Can ho Lexington Quan 2
Balance and contrast
Taler De Refuerz1
Ponencia La vida es bella
Zmpczm017000.11.09
MAE - Informe diario 04-06-2014
Diari del 6 de novembre de 2014
Nora with friends
Socials assignment #1
Association between quality of clinical practice guidelines and citations giv...
Bstudent ' s heart
Publicidad

Similar a Bfs en grafos (20)

PPTX
White Creative Doodle Brainstorming Presentation.pptx
PPT
elementaryAlgorithms.ppt
PPTX
Recorridos
PPTX
PDF
Grafos-2021.pdf
PPT
Recorrido de Grafos
PPT
Recorridos de Grafos
PPTX
Exposicion de estructuras discretas
PDF
10.Grafos.y.Algoritmos.Avanzados.para.Grafos.pdf
PPTX
Grafos – recorrido
PPTX
Grafos
PPT
busqueda a profundidad dsf
DOCX
Aplicaciones de los árboles y grafos
TXT
Coloreo de grafos
PPTX
TRABAJO DE GRAFOS
PPTX
Graphs
PPTX
Depth-first Search
PDF
Teoría de Grafos en sage
PDF
Grafos en sage
PPTX
Depth-first Search
White Creative Doodle Brainstorming Presentation.pptx
elementaryAlgorithms.ppt
Recorridos
Grafos-2021.pdf
Recorrido de Grafos
Recorridos de Grafos
Exposicion de estructuras discretas
10.Grafos.y.Algoritmos.Avanzados.para.Grafos.pdf
Grafos – recorrido
Grafos
busqueda a profundidad dsf
Aplicaciones de los árboles y grafos
Coloreo de grafos
TRABAJO DE GRAFOS
Graphs
Depth-first Search
Teoría de Grafos en sage
Grafos en sage
Depth-first Search

Más de Oscar Jose (10)

ODP
Bfs en grafos
ODP
Bfs en grafos
ODP
Bfs en grafos
ODP
Bfs en grafos
ODP
Bfs en grafos
PPT
Palindromos
PPT
Palindromos
PPT
Generador de codigo_intermedio
PPT
Generador de codigo_intermedio
PPT
C:\fakepath\generador de codigo_intermedio
Bfs en grafos
Bfs en grafos
Bfs en grafos
Bfs en grafos
Bfs en grafos
Palindromos
Palindromos
Generador de codigo_intermedio
Generador de codigo_intermedio
C:\fakepath\generador de codigo_intermedio

Último (20)

PDF
Esc. Sab. Lección 7. El pan y el agua de vida.pdf
PDF
TALLER DE ESTADISTICA BASICA para principiantes y no tan basicos
PDF
Ernst Cassirer - Antropologia Filosofica.pdf
PDF
E1 Guía_Matemática_5°_grado.pdf paraguay
DOCX
PLANES DE área ciencias naturales y aplicadas
PDF
Telos 127 Generacion Al fa Beta - fundaciontelefonica
PDF
LIBRO 2-SALUD Y AMBIENTE-4TO CEBA avanzado.pdf
PDF
Los hombres son de Marte - Las mujeres de Venus Ccesa007.pdf
PDF
Iniciación Al Aprendizaje Basado En Proyectos ABP Ccesa007.pdf
PDF
Texto Digital Los Miserables - Victor Hugo Ccesa007.pdf
PDF
MODULO I ENFERMERIA BASICA.pdf HIstoria en enfermeria
PDF
La Formacion Universitaria en Nuevos Escenarios Ccesa007.pdf
PDF
Aqui No Hay Reglas Hastings-Meyer Ccesa007.pdf
DOC
Manual de Convivencia 2025 actualizado a las normas vigentes
PPTX
LAS MIGRACIONES E INVASIONES Y EL INICIO EDAD MEDIA
PDF
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE.pdf
PDF
ACERTIJO EL CONJURO DEL CAZAFANTASMAS MATEMÁTICO. Por JAVIER SOLIS NOYOLA
DOCX
TEXTO DE TRABAJO DE EDUCACION RELIGIOSA - CUARTO GRADO.docx
PDF
La lluvia sabe por qué: una historia sobre amistad, resiliencia y esperanza e...
PDF
Manual del Gobierno Escolar -MINEDUC.pdf
Esc. Sab. Lección 7. El pan y el agua de vida.pdf
TALLER DE ESTADISTICA BASICA para principiantes y no tan basicos
Ernst Cassirer - Antropologia Filosofica.pdf
E1 Guía_Matemática_5°_grado.pdf paraguay
PLANES DE área ciencias naturales y aplicadas
Telos 127 Generacion Al fa Beta - fundaciontelefonica
LIBRO 2-SALUD Y AMBIENTE-4TO CEBA avanzado.pdf
Los hombres son de Marte - Las mujeres de Venus Ccesa007.pdf
Iniciación Al Aprendizaje Basado En Proyectos ABP Ccesa007.pdf
Texto Digital Los Miserables - Victor Hugo Ccesa007.pdf
MODULO I ENFERMERIA BASICA.pdf HIstoria en enfermeria
La Formacion Universitaria en Nuevos Escenarios Ccesa007.pdf
Aqui No Hay Reglas Hastings-Meyer Ccesa007.pdf
Manual de Convivencia 2025 actualizado a las normas vigentes
LAS MIGRACIONES E INVASIONES Y EL INICIO EDAD MEDIA
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE.pdf
ACERTIJO EL CONJURO DEL CAZAFANTASMAS MATEMÁTICO. Por JAVIER SOLIS NOYOLA
TEXTO DE TRABAJO DE EDUCACION RELIGIOSA - CUARTO GRADO.docx
La lluvia sabe por qué: una historia sobre amistad, resiliencia y esperanza e...
Manual del Gobierno Escolar -MINEDUC.pdf

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.
  • 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