Заданы два неориентированных графа G1 и G2 матрицами

advertisement
Вариант 1 (3 человека)
Заданы два неориентированных графа G1 и G2 матрицами смежности.
Необходимо разработать программу на языке СИ, реализующую сравнение
этих графов на предмет установления их изоморфности.
Требуется:
1) Провести поиск существующих алгоритмов (методик) проверки
графов на изоморфизм;
2) Проанализировать найденные алгоритмы (методики) и выявить их
возможные достоинства и недостатки;
3) Каждому участнику группы выбрать один из алгоритмов (методик) и
реализовать его в виде функции пользователя на языке СИ.
4) Разработать численные критерии оценки эффективности сравнения
графов по найденным алгоритмам (методикам).
5) Реализовать расчет данных критериев в виде функции пользователя
(при необходимости) на языке СИ.
6) Разработать общую программу, выполняющую:
– сравнение графов по реализованным в виде функций пользователя
алгоритмам (методикам);
– расчет разработанных критериев оценки эффективности алгоритмов
(методик).
Программа при этом должна обеспечивать:
– ввод матриц смежности графов из текстового файла;
– вывод результатов сравнения графов и значений критериев
эффективности по разным алгоритмам на экран и в текстовый файл.
Вариант 2 (2 человека)
Задан граф G1 (может быть как неориентированным, так и
ориентированным) матрицей смежности. Необходимо разработать программу
на языке СИ, осуществляющую обход данного графа с использованием
алгоритмов обхода «в глубину» и «в ширину».
Требуется:
1) Проанализировать алгоритмы обхода графов «в глубину» и «в
ширину».
2) Каждому участнику группы выбрать один из алгоритмов и
реализовать его в виде функции пользователя на языке СИ.
3) Разработать численные критерии оценки эффективности обхода
графов по заданным алгоритмам.
4) Реализовать расчет данных критериев в виде функции пользователя
(при необходимости) на языке СИ.
5) Разработать общую программу, выполняющую:
– обход графа по алгоритмам обхода «в глубину» и «в ширину»;
– расчет разработанных критериев оценки эффективности обхода по
данным алгоритмам.
Программа при этом должна обеспечивать:
– ввод матрицы смежности графа из текстового файла;
– вывод результатов обхода графа в виде последовательности
обходимых вершин и значений критериев эффективности по разным
алгоритмам на экран и в текстовый файл.
Вариант 3 (3 человека)
Задан граф G
(может быть как неориентированным, так и
ориентированным) матрицей смежности. Необходимо разработать программу
на языке СИ, устанавливающую связный данный граф или нет.
Требуется:
1) Провести поиск существующих алгоритмов (методик) проверки
связности графов;
2) Проанализировать найденные алгоритмы (методики) и выявить их
возможные достоинства и недостатки;
3) Каждому участнику группы выбрать один из алгоритмов (методик) и
реализовать его в виде функции пользователя на языке СИ.
4) Разработать численные критерии оценки эффективности найденных
алгоритмов (методик).
5) Реализовать расчет данных критериев в виде функции пользователя
(при необходимости) на языке СИ.
6) Разработать общую программу, выполняющую:
– проверку графа на связность по реализованным в виде функций
пользователя алгоритмам (методикам);
– расчет разработанных критериев оценки эффективности алгоритмов
(методик).
Программа при этом должна обеспечивать:
– ввод матрицы смежности графа из текстового файла;
– вывод результатов проверки и значений критериев эффективности по
разным алгоритмам на экран и в текстовый файл.
Вариант 4 (4 человека)
Задан связный граф G (может быть как неориентированным, так и
ориентированным) матрицей смежности. Необходимо разработать программу
на языке СИ, осуществляющую поиск эйлерова цикла.
Требуется:
1) Провести поиск существующих алгоритмов (методик) поиска
эйлерова цикла;
2) Проанализировать найденные алгоритмы (методики) и выявить их
возможные достоинства и недостатки;
3) Каждому участнику группы выбрать один из алгоритмов (методик) и
реализовать его в виде функции пользователя на языке СИ.
4) Разработать численные критерии оценки эффективности найденных
алгоритмов (методик).
5) Реализовать расчет данных критериев в виде функции пользователя
(при необходимости) на языке СИ.
6) Разработать общую программу, выполняющую:
– поиск эйлерова цикла в графе по реализованным в виде функций
пользователя алгоритмам (методикам);
– расчет разработанных критериев оценки эффективности алгоритмов
(методик).
Программа при этом должна обеспечивать:
– ввод матрицы смежности графа из текстового файла;
– вывод результатов поиска в виде последовательности вершин цикла
и (если цикла нет, то сообщить об этом) значений критериев эффективности
по разным алгоритмам на экран и в текстовый файл.
Вариант 5 (3 человека)
Задан взвешенный связный граф G
(может быть как
неориентированным, так и ориентированным) матрицей смежности.
Необходимо разработать программу на языке СИ, осуществляющую
построение всех возможные остовных деревьев и выбор дерева с
минимальным весом.
Требуется:
1) Провести поиск существующих алгоритмов (методик) построения
остовных деревьев и выбора дерева с минимальным весом;
2) Проанализировать найденные алгоритмы (методики) и выявить их
возможные достоинства и недостатки;
3) Каждому участнику группы выбрать один из алгоритмов (методик) и
реализовать его в виде функции пользователя на языке СИ.
4) Разработать численные критерии оценки эффективности найденных
алгоритмов (методик).
5) Реализовать расчет данных критериев в виде функции пользователя
(при необходимости) на языке СИ.
6) Разработать общую программу, выполняющую:
– построение остовных деревьев и выбор дерева с минимальным весом
по реализованным в виде функций пользователя алгоритмам (методикам);
– расчет разработанных критериев оценки эффективности алгоритмов
(методик).
Программа при этом должна обеспечивать:
– ввод матрицы смежности графа из текстового файла;
– вывод результатов на экран и в текстовый файл.
Построенные остовные деревья вывести в виде матриц смежности.
Download