Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
RGR.rtf
Скачиваний:
5
Добавлен:
21.08.2019
Размер:
167.19 Кб
Скачать
  1. Атд «Итератор входящих ребер вершины»

Интерфейс АТД «Итератор входящих ребер вершины» включает операции:

Конструктор (v) - создает итератор входящих ребер графа для вершины, заданной номером v,

beg( ) - возвращает итератор, установленный на первое входящее ребро вершины,

end( ) - возвращает итератор, соответствующий окончанию переходов итератора,

operator ++ - переход к следующему входящему ребру,

operator * - возвращает дескриптор входящего ребра вершины, на которое указывает итератор.

Задача 1.

Спроектировать и реализовать шаблонный класс для АТД «Задача 1» в соответствии с вариантом и использовать для решения задачи на графе.

Интерфейс АТД «Задача 1» включает операции:

Конструктор (g) - создает объект задачи 1, ассоциированный с графом g, и выполняет решение задачи для графа g,

Конструктор (T) - конструктор копирования создает копию объекта – задачи T,

Деструктор () - уничтожает внутренние структуры объекта задачи,

Set (g) – связывает объект задачи с графом g и выполняет решение задачи 1 для графа g,

Restart ( ) – повторно выполняет решение задачи 1 для графа g,

Result( ) – возвращает результат решения задачи 1

Варианты задачи 1:

  1. классификация всех рёбер орграфа относительно заданной вершины,

  2. определение последовательности вершин на основе обратной топологической сортировки ациклического DAG - орграфа,

  3. определение ребер – мостов в неориентированном графе,

  4. определение в орграфе кратчайшего по числу ребер пути между заданной парой вершин на основе алгоритма Флойда – Уоршалла,

  5. определения остовного леса неориентированного графа с максимальной высотой, построенного методом поиска в глубину и методом поиска в ширину,

  6. формирования двудольного орграфа с раскраской в два цвета,

  7. формирование реберно-связного неориентированного графа,

  8. определение гамильтонова цикла в орграфе,

  9. сортировка ребер неориентированного графа в порядке двухпроходного эйлерова цикла,

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

  11. определение всех сильносвязных компонент в орграфе, включающих не менее k вершин,

  12. определение вершин отделимости в неориентированном графе,

Задача 2

Спроектировать и реализовать шаблонный класс для АТД «Задача 2» в соответствии с вариантом и использовать для решения задачи на взвешенном графе.

АТД «Задача2»

Интерфейс АТД «Задача 2» включает операции:

Конструктор (g) - создает объект задачи 3, ассоциированный с графом g, и выполняет решение задачи для графа g,

Конструктор (T) - конструктор копирования создает копию объекта – задачи T,

Деструктор () - уничтожает внутренние структуры объекта задачи,

Set (g) – связывает объект задачи с графом g и выполняет решение задачи 2 для графа g,

Restart ( ) – повторно выполняет решение задачи 2 для графа g,

Result( ) – возвращает результат решения задачи 2.

Варианты алгоритмов:

  1. приведение отрицательной весовой функции орграфа к положительной методом Джонсона,

  2. определение входящих в заданную вершину кратчайших путей на основе алгоритма Дейкстры,

  3. определения кратчайших путей для всех пар вершин взвешенного орграфа на основе алгоритма Беллмана-Форда.

  1. определение диаметра и пути, соответствующего диаметру, на основе алгоритма Флойда,

  2. нахождения ребра (ребер), устранение которых вызывает максимальное возрастание кратчайшего пути из вершины u в вершину v во взвешенном орграфе на основе алгоритма Дейкстры,

  1. определение эксцентриситета заданной вершины взвешенного орграфа с отрицательной весовой функции на основе алгоритма Беллмана-Форда.

  1. вычисление центра взвешенного орграфа на основе алгоритма Флойда,

  2. определение списка вершин, которые лежат в пределах заданного расстояния d от заданной вершины взвешенного орграфа с отрицательной весовой функции на основе алгоритма Беллмана-Форда,

  3. разбиение вершин взвешенного неориентированного графа на кластеры, объединяющие вершины ребрами с длиной, большей d. Для разбиения использовать алгоритм Крускалла,

  1. построение минимального остовного дерева взвешенного неориентированного графа методом Прима,

  1. определение радиуса и соответствующего радиусу пути взвешенного орграфа на основе алгоритма Дейкстры,

  2. определение периферии взвешенного орграфа на основе алгоритма Флойда,

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