Python-курс
🕸️ Графы

Обход в ширину и кратчайший путь

BFS, расстояние в рёбрах и обнаружение цикла.

~30 минПродвинутый 2 урока

Обход в ширину (BFS)

BFS (breadth-first search) исследует граф «кругами»: сначала все соседи старта (расстояние 1), потом соседи соседей (расстояние 2) и так далее. Благодаря этому BFS находит кратчайший путь в невзвешенном графе — по числу рёбер. Как и обход дерева по уровням, BFS использует очередь deque.

S 1 1 2 2 старт расст. 1 расст. 2
BFS расходится волнами: число в вершине — расстояние от старта S.
bfs.py
Шаг 1 из 8