связный неориентированный
связный неориентированный граф G. Требуется найти все гамильтоновы циклы графа, если они есть.
Метод решения - перебор с возвратом (backtracking). Начинаем поиск решения, например, с первой вершины графа. Предположим, что уже найдены первые k компонент решения. Рассматриваем ребра, выходящие из последней вершины. Если есть такие, что идут в ранее не просмотренные вершины, то включаем эту вершину в решение и помечаем ее как просмотренную. Получена (k+1) компонента решения. Если такой вершины нет, то возвращаемся к предыдущей вершине и пытаемся найти ребро из нее, выходящее в другую вершину. Решение получено при просмотре всех вершин графа и возможности достичь из последней первой вершины. Решение (цикл) выводится, и продолжается процесс нахождения следующих циклов. Пример графа и часть дерева, показывающего механизм работы данного метода.
Логика решения.
procedure Gm(k:integer); {* k - номер итерации*}
{*глобальные переменные*}
{* A - матрица смежности, St - массив для
Индекс
Элементарные функции
Линейные уравнения
Нелинейные уравнения
Случайные числа