Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
6.9. Кратчайшие пути на графеРассматриваемый алгоритм определяет расстояния между вершинами в простом орграфе с неотрицательными весами. К таким орграфам сводятся многие типы графов. Если граф не является простым, его можно сделать таковым, отбрасывая все петли и заменяя каждое множество параллельных ребер кратчайшим ребром (ребром с наименьшим весом) из этого множества; каждое неориентированное ребро заменяется парой ориентированных ребер. Если граф не взвешен, то можно считать, что все ребра имеют один вес. Пусть Вначале вершине присваивается окончательная метка 1. Каждой вершине 2. Определяется наименьшая из всех временных меток, которая и становится окончательной меткой своей вершины. В случае равенства меток выбирается любая из них. Циклический процесс Рассмотрим пример поиска кратчайшего пути на графе, представленном на рис. 6.21.
Рис. 6.21. Простой взвешенный орграф Процесс назначения меток вершинам графа на каждом шаге удобно представить в виде следующей таблицы. (см. скан) Квадратами выделены окончательные метки, т.е. расстояния от них до Реализация рассмотренной схемы поиска кратчайшего пути представлена в алгоритме 6.11, где граф Алгоритм 6.11. Алгоритм кратчайшего пути на орграфе (см. скан)
а значение • Сложность алгоритма. Алгоритм обращается к телу цикла Интересно заметить, что если требуется найти длины кратчайших путей от Программная реализация алгоритма поиска кратчайшего пути представлена в алгоритме 6.12 на Pascal'e, который близко соответствует множественному описанию алгоритма 6.11. Алгоритм 6.12. Программа кратчайшего пути на орграфе (см. скан) (см. скан) Рассмотрим пример расчета по программе алгоритма 6.12 поиска кратчайшего пути на графе, показанном на рис. 6.21. Исходные данные графа представляются матрицей весов его ребер в текстовом файле • в первой строке определяется номер начальной вершины пути • во второй строке определяется номер конечной вершины пути • в третьей строке указывается количество Х вершин в графе; • в следующих
Результаты расчетов сохраняются в выходном файле
|
1 |
Оглавление
|