Скачиваний:
6
Добавлен:
15.08.2023
Размер:
71.55 Кб
Скачать

ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»

(СПбГУТ)

Факультет инфокоммуникационных Сетей и систем (иксс)

кафедра программной инженерии и вычислительной техники (пиивт)

Лабораторная работа №5.

«Поиск кратчайшего пути на графах»

Дисциплина: «Алгоритмы и Структуры Данных»

Выполнили: Студент группы ИКПИ-92 Козлов Никита

Тюришев Матвей

Принял: к.т.н., доцент кафедры ПИиВТ

Дагаев А.В.

Алгоритм Флойда-Уоршелла

Алгоритм Флойда-Уоршелла – алгоритм нахождения минимального расстояния между всеми парами вершин в графе. Представляет из себя очень ёмкий и компактный алгоритм с тремя циклами, чем весьма прост в своей реализации. Суть заключена в последовательном переборе всех возможных маршрутов и выборе тех, что являются самыми короткими. В связи с подобной простотой алгоритма, его затраты на выполнение высоки.

Пример работы

Дан взвешенный неориентированный граф:

  1. До начала работы алгоритма единственные известные расстояния – те, что являются рёбрами. То есть, известны такие расстояния, как: 1-2 : 5 1-5 : 3 1-3 : 7 2-5 : 1 3-4 : 4 4-5 : 2 Всего шагов будет 5 – по количеству вершин в графе.

  2. На первом шаге алгоритма рассматриваются пути, проходящие через первую вершину графа. То есть, известны такие расстояния, как: 3-1-2: 12 3-1-5: 10

  3. На втором шаге рассматриваются пути, проходящие через вторую вершину графа либо через вторую и предыдущие. То есть, известны такие расстояния, как: 3-1-2-5: 13 1-2-5: 6

  4. На третьем шаге рассматриваются пути, проходящие через третью вершину графа либо через третью и предыдущие. То есть, известны такие расстояния, как: 1-3-4: 11 2-1-3-4: 16 5-1-3-4: 14 5-2-1-3-4: 17

  5. На четвертом шаге рассматриваются пути, проходящие через четвертую вершину графа либо через четвертую и предыдущие. То есть, известны такие расстояния, как: 3-4-5: 4 1-3-4-5: 13 2-1-3-4-5: 18

  6. На пятом шаге рассматриваются пути, проходящие через пятую вершину графа либо через пятую и предыдущие. То есть, известны такие расстояния, как: 1-5-4: 5 1-5-2: 4 1-2-5-4: 8 1-5-4-3: 9 1-2-5-4-3: 12 1-3-4-5-2: 14 2-5-4: 3 2-5-4-3: 7 2-5-1-3: 11 3-1-5-4: 12 3-1-2-5-4: 15

В конечном итоге найдены все возможные расстояния в графе, среди которых минимальные: 1-5-2 : 4 1-3 : 7 1-5-4: 5 1-5 : 3 2-5-4-3 : 7 2-5-4 : 3 2-5 : 1 3-4 : 4 3-4-5 : 6 4-5 : 2 Из этих расстояний составляется матрица минимальных расстояний графа, которая представлена Рис.2. Всего затрачено на выполнение 5 шагов.

\

1

2

3

4

5

1

0

4

7

5

3

2

4

0

7

3

1

3

7

7

0

4

6

4

5

3

4

0

2

5

3

1

6

2

0