La ruta de ancho del gráfico (BFS) es un algoritmo que se utiliza para examinar las estructuras de datos del gráfico. BFS implementa una estrategia específica para visitar todas las cimas de un gráfico
BFS comienza con una cumbre, luego comprueba a los vecinos de la cumbre inicial, luego a los vecinos de los vecinos, etc.
En la entrada del algoritmo está el gráfico G y un punto de partida D para el que la distancia se considera 0.
Fuera del algoritmo se calculan todas las distancias entre la parte superior D y cada parte superior del gráfico G, así como el árbol que cubre si el gráfico G está relacionado (es decir, para cualquier par de topthere hay un camino entre ellos en el gráfico).
Se utilizan las siguientes tablas:
- Distancia[.]: Almacena la distancia entre D (parte superior inicial) y otra parte superior del gráfico.
- Padre: A[.]lmacena el padre en la parte superior de una parte superior del gráfico recorrido.
- Visita[.]: Almacena el estado de la visita de la cumbre, posible lista de valores 0:todavía no visitados,1:Visita en curso,2:Visitado
Para un carril F se utilizan las siguientes funciones:
- Primero (F): Devuelve el elemento a la parte superior del carril F sin quitarlo.
- Dequeue(F): Devuelve el elemento a la parte superior de la línea F quitándolo.
- Anexar (F, A): Coloque el elemento A en el carril F en la parte posterior de la línea.
Los pasos son:
- Fase de inicialización
- 1. Por todas las cumbres
- Visita – 0 (Aún no visitado)
- Pere – null (Inicializa la tabla)
- Distancia – -1
- 2. Anexar (F,D) (añade el elemento inicial)
- 3. Distanc[R]ia – 0 (premisa de inicio)
- 1. Por todas las cumbres
- Fase de acción (ruta del gráfico G)
- Mientras la línea F no esté vacía
- t – Primero (F)
- Para todos los vecinos v t hacer
- Si la visi[v]ta 0 (la cumbre no visitada) entonces
- Visita[v] – 1 (Visita en curso)
- Distanci[v]a – Distanci[t]a – 1
- Padre[v] – t
- Anexar (F,v)
- Si la visi[v]ta 0 (la cumbre no visitada) entonces
- Dequeue (F)
- Visi[t]ta 2
- Mientras la línea F no esté vacía
Si detallamos los pasos con el caso del gráfico de ejemplo a continuación.
Fase de inicialización:

Inicializando el elemento A es el elemento inicial remoto 0, se colorea de color naranja para indicar que la visita está en curso.
Visita de los vecinos de la Cumbre A (Visita de la Cumbre B)

Visita de los vecinos de la Cumbre A (Visita cumbre C)

Marcar A como visitado y eliminar la cola

Visita de los vecinos de la Cumbre B (Visita de la Cumbre D)

Marcar B y C como visitados y eliminar la cola

eaC se marca como visitado (color azul) y se quita de la cabeza de la cola (su vecino D se marca durante la visita)
Marcar D como visitado y final del algoritmo

Fin del algoritmo
Construir el árbol que cubre si el gráfico está relacionado

Aplicación: La ruta de anchura de un gráfico (BFS) es útil para:
- Compruebe si un gráfico está relacionado (todas las tapas se marcan como visitadas al final del algoritmo).
- Calcular distancias desde un pico determinado
- Construir un árbol que cubra un gráfico