Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TG-5.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
3.06 Mб
Скачать

5.5. Лабораторная работа №5.1: “Поиск фундаментальных циклов”

Цель работы:

Исследование и поиск фундаментальных циклов в графе.

Задание:

Используя методические указания раздела 5.1 разработать программу поиска всех фундаментальных циклов в графе от заданной вершины, используя один из алгоритмов поиска по выбранному варианту.

Порядок выполнения работы

Работа рассчитана на 2 часа и должна определять в заданном неориентированном графе следующие элементы:

  • цикломатическое число;

  • список вершин каждого фундаментального цикла перечислением его вершин;

  • список фундаментальных циклов.

Варианты выполнения работы:

  1. Использовать рекурсивный алгоритм поиска в графе в глубину.

  2. Использовать нерекурсивный алгоритм поиска в графе в глубину.

  3. Использовать алгоритм поиска в графе в ширину.

В качестве теста для отладки и исследования использовать связный неориентированный граф из 9 вершин, представленный на рис. 4.1.

Методические указания

Для удобства последующего использования найденных фундаментальных циклов рекомендуем их систематизировать в специальной матрице. Матрица фундаментальных циклов может быть построена по столбцам (или аналогично - по строкам), где строкам соответствуют ребра, а столбцам - циклы. Единичный элемент указывает на наличие данного ребра в данном цикле. Ребра можно задавать в виде пар вершин и представлять их в отдельном массиве.

5.6. Лабораторная работа №5.2: “Поиск всех циклов”

Цель работы:

Исследование и поиск циклов в графе, используя фундаментальные циклы в графе.

Задание:

Используя методические указания раздела 5.2 разработать программу генерирования всех циклов в графе, применяя операцию симметрической разности к ранее найденным фундаментальным циклам.

Порядок выполнения работы

Работа рассчитана на 2 часа и должна определять в заданном неориентированном графе неповторяющийся список всех циклов в графе.

Варианты выполнения работы:

  1. Использовать рекурсивный алгоритм поиска в графе в глубину при определении фундаментальных циклов.

  2. Использовать нерекурсивный алгоритм поиска в графе в глубину при определении фундаментальных циклов.

  3. Использовать алгоритм поиска в графе в графе в ширину при определении фундаментальных циклов.

В качестве тестов использовать связный неориентированный граф из 9 вершин, представленный на рис. 4.1.

Методические указания

При разработке алгоритма поиска всех циклов следует воспользоваться построенной в предыдущей работе матрицей фундаментальных циклов. Каждый полученный новый простой цикл можно записывать в эту же матрицу, расширяя ее дополнением нового столбца.

5.7. Лабораторная работа №5.3: “Поиск эйлерова цикла”

Цель:

Исследование и поиск эйлеровых путей и циклов в графе.

Задание:

Используя методические указания раздела 5.3 разработать программу поиска эйлеровых путей и циклов.

Порядок выполнения работы

Работа рассчитана на 2 часа и должна определять в заданном неориентированном графе все эйлеровы пути и циклы.

В качестве тестов использовать связный неориентированный граф из 9 вершин, представленный на рис. 5.1.

5.8. Лабораторная работа №5.4: “Поиск гамильтонова цикла”

Цель:

Исследование и поиск гамильтоновых путей и циклов в графе.

Задание:

Используя методические указания раздела 5.4 разработать программу поиска гамильтоновых путей и циклов.

Порядок выполнения работы

Работа рассчитана на 2 часа и должна строить дерево исчерпывающего перебора и определять в заданном неориентированном графе все гамильтоновы пути и циклы.

В качестве тестов использовать связный неориентированный граф из 5 вершин, представленный на рис. 5.2.

ЛИТЕРАТУРА

  1. Липский В. Комбинаторика для программистов. - М.: Мир, 1988.

  2. Кристофидес Н. Теория графов: алгоритмический подход. - М.: Мир. - 1978.

  3. Кузнецов О.П., Адельсон-Вельский Г.М. Дискретная математика для инженера. - М.: Энергоатомиздат. - 1988.

  4. Майника Э. Алгоритмы оптимизации на сетях и графах. - М.: Мир, 1981.

  5. Свами М., Тхуларисаман К. Графы, сети и алгоритмы. - М.: Мир, 1984.

  6. Пападимитриу Х., Стайнглиц К. Комбинаторная оптимизация. Алгоритмы и сложность. - М.: Мир, 1985.

  7. Рейнгольд Э., Нивергельт Ю., Део Н. Комбинаторные алгоритмы: теория и практика. - М.: Мир, 1980.

  8. Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов. - М.: Мир, 1979.

  9. Гудман С., Хидетниеми С. Введение в разработку и анализ алгоритмов. - М.: Мир, 1981.

  10. Вирт Н. Алгоритмы + структуры данных = программы. - М.: Мир, 1985.

  11. Басакер Р., Саати Т. Конечные графы и сети. - М.: Мир, 1974.

  12. Оре О. Теория графов. - М.: Наука. - 1968.

  13. Харари Ф. Теория графов. - М.: Мир, 1973.

  14. Зыков А.А. Теория конечных графов. - Новосибирск: Наука, 1969.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]