Как оптимально обойти все вершины графа? Нужно обойти все вершины неориентированного связного графа, точечно перемещаясь по ребрам. Граф - произвольный (не Эйлеров и не Гамильтонов, кроме связности ничего не дано). Переход по ребру - один шаг. Как сделать это за минимальное число шагов? Возвращаться в исходную вершину, как в задаче с коммивояжером не обязательно главное посетить каждую вершину хотя бы раз.

21 Авг 2019 в 06:07
133 +1
0
Ответы
1

Для обхода всех вершин графа за минимальное число шагов можно использовать алгоритм обхода в глубину (Depth-First Search, DFS).

Шаги алгоритма:

Выбрать произвольную вершину и начать исследование с неё.Переходить в любую смежную вершину, которую ещё не посещали.Если из текущей вершины больше нет непосещенных смежных вершин, вернуться на одну вершину назад и продолжить обход оттуда.Повторять шаги 2-3, пока не посетим все вершины графа.

Алгоритм обхода в глубину гарантирует посещение всех вершин графа за минимальное число шагов, так как он идет "вглубь" графа, и не допускает повторного посещения вершин.

20 Апр в 13:23
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 94 362 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир