Графы и обходы
Граф — это множество вершин и множество рёбер , соединяющих пары вершин. В неориентированном графе ребро не имеет направления; в ориентированном — есть дуга .
Два базовых обхода:
- BFS (breadth-first search) — в ширину: сначала все соседи, потом соседи соседей. Даёт кратчайшие пути по числу рёбер.
- DFS (depth-first search) — в глубину: идём по ветке до конца, затем откатываемся.
Ниже — случайный граф Эрдёша–Реньи : можно менять число вершин и вероятность ребра, выбрать старт (или кликнуть по вершине) и пройти BFS/DFS по шагам.
Разбор на Python (networkx)
Тот же сюжет в коде: строим граф, считаем BFS-дерево и рисуем его.
Загрузка редактора…
Обновлено