- •Введение
- •Теоретическая часть Гамильтоновы циклы
- •Основные понятия и определения
- •Условия существования гамильтонова цикла
- •Задачи связанные с поиском гамильтоновых циклов
- •Методы построения гамильтоновых циклов в графе
- •Алгебраический метод построения гамильтоновых циклов
- •Практическая часть Примеры решения задач
- •Блок-схемы
- •Примеры работы программы
- •Список литературы
Примеры работы программы
Данная программа делает запрос количества вешин графа
а также матрицы смежности графа
после ввода матрицы сразу выводятся найденные гамильтоновы циклы
после нажатия любой клавиши программа закрывается.
При вводе количества вершин графа менее 3 или более 100 программа сообщит об ошибке и закроется.
При вводе в матрицу смежности чисел, отличных от 0 и 1 программа сообщит об ошибке и закроется.
Если в заданном графе будут отсутствовать гамильтоновы циклы, то вместо ответа появится надпись: «Нет решения».
Вывод
Программа сначала модифицирует матрицу смежности, Далее в цикле перемножает полученную матрицу В с создаваемыми матрицами Р. Матрица ≡А, А-матрица смежности. Цикл производитсяn-2 раз, гдеn-это число вершин графа. Из полученных цепей отсеиваются повторные, из оставшихся отсеиваются те, которые не замыкаются.
Оставшиеся цепи выводятся на экран. При отсутствии оставшихся цепей выводится надпись: «Нет решений».
При написании данной программы был использован компилятор TMTPascalMulti-target4, поскольку на данный момент откомпилированные им приложения являются наиболее производительными по сравнению сTurboPascal,C++,MFC,Delphi. Использованный алгоритм решения требует много оперативной памяти, однако программа использует оперативную память по минимуму. Промежуточные массивы с данными сохраняются на жестком диске в папкеvrm. Таким образом данную программу можно использовать на компьютерах с малым количеством оперативной памяти. Также быстродействия удалось достигнуть за счет того, чтоWindowsкэширует создаваемые и копируемые файлы.
Список литературы
Кристофидес Н. Теория графов. Алгоритмический подход.-М.: Мир, 1978.-432с.
Белов В.В. Теория графов: Учеб. пособие для студ.высш.техн.учеб. заведений.-М.: Высш.школа, 1976.-392с.
Культин Н.Б. Программирование в Turbo Pascal 7.0 и Delphi.- Санкт-Петербург:BHV, 1998.-240c.