1. Алгоритм 3 находит кратчайший путь из начальной вершины S в конечную вершину t. Измените алгоритм, чтобы находились кратчайшие пути из вершины S до всех оставшихся вершин графа.
2. Реализуйте и исследуйте на эффектвность алгоритм Дейкстры.
3. Узким местом пути называется кратчайшая из входящих в него дуг. Задача об узких местах пути - задача поиска такого пути между двумя вершинами, в котором длина кратчайшей дуги максимальна.
Измените алгоритм Дейкстры для решения задачи об узких местах пути.
Придумайте реальные задачи, сводящиеся к задаче об узких местах пути.
4. Сопоставим каждой дуге действительное число, называемое коэффициентом усиления дуги. Коэффициентом усиления пути называется величина произведения коэффициентов усиления всех дуг, составляющих данный путь. Задача о путях с усилением формулируется как задача нахождения такого пути между двумя вершинами, который дает наибольшую величину усиления.
Модифицируйте алгоритм Дейкстры для решения задачи о путях с усилением.
|
|
Придумайте реальные задачи, сводящиеся к задаче о путях с усилением.
5. Рассмотренный алгоритм Флойда вычисляет только длины кратчайших путей между каждой парой вершин. Доработайте алгоритм таким образом, чтобы сохранялась информация о самих кратчайших путях.
Вопросы для повторения
- Определение неориентированного графа.
- Понятие вершины графа.
- Понятие ребра графа.
- Понятие порядка графа.
- Понятие отношения инцидентности.
- Понятие отношения смежности.
- Определение ориентированного графа.
- Обобщение понятия "граф" (мультиграф, псевдограф).
- Понятие смешанного графа.
- Понятие взвешенного графа.
- Определение цепи.
- Определение пути.
- Определение цикла.
- Определение контура.
- Определение связного графа.
- Определение полного графа.
- Определение ациклического графа.
- Определение дерева.
- Определение покрывающего дерева.
- Понятие гиперграфа.
- Понятие матрицы смежности.
- Понятие матрицы инцидентности.
- Понятие матрицы весов.
- Способы хранения графов в памяти ЭВМ.
- Алгоритм построения покрывающих деревьев (алгоритм Краскала).
- Алгоритм нахождения всех покрывающих деревьев.
- Поиск на графах (поиск в глубину и поиск в ширину).
- Понятие сильной связности.
- Понятие матрицы достижимости, контрдостижимости и взаимодостижимости.
- Анализ сильной связности с помощью алгоритмов поиска на графах.
- Понятие транзитивного замыкания.
- Алгоритм нахождения транзитивного замыкания.
- Анализ сильной связности с помощью алгоритма нахождения транзитивного замыкания.
- Алгоритм нахождения кратчайшего пути (алгоритм Дейкстры).
- Алгоритм нахождения кратчайших путей (алгоритм Флойда).