Некоторые методы обхода вершин графа:
- Обход в глубину (поиск в глубину, DFS). 24 Алгоритм заключается в систематическом просмотре вершин графа и прохождении его ветвями. 4 Когда возможные пути по рёбрам, выходящим из вершин, разветвляются, нужно сначала полностью исследовать одну ветку и только потом переходить к другим веткам (если они останутся нерассмотренными). 4
Алгоритм поиска в глубину: 4
- Все вершины графа отмечают как не посещённые. 4 Выбирается первая вершина и помечается как посещённая. 4
- Для последней помеченной как посещённой вершины выбирается смежная вершина, которая первая помечена как не посещённая, и ей присваивается значение посещённой. 4 Если таких вершин нет, то берётся предыдущая помеченная вершина. 4
- Повторяют шаг 2 до тех пор, пока все вершины не будут помечены как посещённые. 4
- Обход в ширину (поиск в ширину, BFS). 24 Основное отличие этого способа обхода в том, что сначала исследуются смежные вершины, а уже потом вершины на следующем уровне. 4 При этом для каждой вершины сразу находится длина кратчайшего маршрута от начальной вершины. 4
Алгоритм поиска в ширину: 4
- Всем вершинам графа присваивается значение не посещённой. 4 Выбирается первая вершина и помечается как посещённая и заносится в очередь. 4
- Посещается первая вершина из очереди (если она не помечена как посещённая). 4 Все её соседние вершины заносятся в очередь. 4 После этого она удаляется из очереди. 4
- Повторяется шаг 2 до тех пор, пока очередь не станет пустой. 4