Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций ДМ.doc
Скачиваний:
25
Добавлен:
16.11.2019
Размер:
3.29 Mб
Скачать

4.4.2 Алгоритм Дейкстры нахождения кратчайшего пути в графе

  1. Положить и считать эту метку постоянной. Положить для всех , и считать эти метки временными. Положить .

  2. Для всех с временными метками выполнить:

если , то и .

Иначе и не менять.

  1. Пусть - множество вершин с временными метками . Найти вершину такую, что . Считать метку постоянной меткой вершины .

  2. Положить . Если , то перейти к пункту 5, иначе перейти к пункту 2.

  3. , - кратчайший путь.

Пример решения задачи нахождения кратчайшего пути

В простом взвешенном графе на рисунке 7.3.1 найти кратчайший путь из в , используя алгоритм Дейкстры.

x2 3 x4 6 x7

6 6 7 5

x0 4 x1 9 x8

3 x5 4 11

8 10

x3 7 x6

Рисунок 4.5 - Простой взвешенный граф

Табли­ца 4.3 - Последо­вательное изменение меток вершин

Метки

X0

0

0

0

0

0

0

0

0

0

X1

4

4

4

4

4

4

4

4

X2

6

6

6

6

6

6

6

6

X3

8

7

7

7

7

7

7

7

X4

10

9

9

9

9

9

9

X5

13

13

13

13

13

13

X6

14

14

14

14

14

X7

15

15

15

15

X8

22

22

20

Таблица 4.4 - Последо­вательное изменение меток

Метки

X1

0

0

0

0

0

0

0

X2

0

0

0

0

0

0

0

X3

0

1

1

1

1

1

1

X4

1

2

2

2

2

2

X5

2

2

2

2

2

X6

3

3

3

3

X7

4

4

4

X8

5

7

Из таблиц 4.3 и 4.4 можно определить кратчайший путь и его длину.

Длину кратчайшего пути в таблице 4.3 определяем по постоянной метке, которую имеет конечная вершина: вершина имеет постоянную метку равную 20, значит длина кратчайшего пути l ( )=20.

Сам кратчайший путь определяем из таблицы 4.4: метка последней вершины указывает на индекс вершины предшествующей ей и т.д. пока не дойдем до начальной вершины. Вершины в обратном порядке указывают кратчайший путь: .

l=6 l=9 l=15

x2 3 x4 6 x7

6 6 7 5

x0 4 x1 9 x8

3 l=4 x5 l=13 4 11 l=20

8 10

x3 7 x6

l=7 l=14

Рисунок 4.6 - Окончательное распределение меток и кратчайший путь