3) На рисунке справа схема дорог между некоторыми объектами изображена в виде графа, в таблице содержатся сведения о длинах этих дорог (в километрах). Так как таблицу и схему рисовали независимо друг от друга, то нумерация объектов в таблице никак не связана с буквенными обозначениями на графе. Определите длину кратчайшего пути между пунктами ВиК. Передвигаться можно только по указанным дорогам. Б д П1 | 12 | 13 | 14 | 15 | 16 | 17 П1 25 20 П2 | 25 10 20 ПЗ 15 25 Е П4 | 20 | 10 35 15 П5 15 30 20 25 35 30 20 П7 15 20 Р П6 E AO В к Г
Для определения длины кратчайшего пути между пунктами В и К на данной схеме дорог в виде графа нужно использовать алгоритм Дейкстры. Данный алгоритм позволяет найти кратчайший путь между двумя вершинами во взвешенном графе.
Шаги решения:
1) Обозначим вершину В как начальную вершину и запишем ее расстояние от начальной вершины как 0. Начнем считать расстояния до всех остальных вершин как бесконечность, так как они пока не посещены.
2) Найдем вершину с минимальным расстоянием от начальной вершины (по таблице), обозначим ее как текущую вершину и посетим ее.
3) Рассмотрим все соседние вершины текущей вершины. Если сумма расстояния от начальной вершины до текущей вершины и длины ребра между текущей вершиной и соседней вершиной меньше, чем текущее расстояние от начальной вершины до соседней вершины, то обновим это расстояние.
4) Повторяем шаг 2 и шаг 3, пока все вершины не будут посещены.
5) По завершении алгоритма, записываем длину кратчайшего пути между пунктами В и К, которая будет находиться в поле расстояния до вершины К.
Вот пошаговое решение для данной схемы дорог:
1) Начнем с вершины В и запишем ее расстояние от начальной вершины как 0.
2) Рассмотрим соседние вершины В:
- Вершина Р: расстояние до нее = 15 км.
- Вершина Е: расстояние до нее = 30 км.
- Вершина АО: расстояние до нее = 35 км.
3) Выберем вершину с минимальным расстоянием из рассмотренных вершин. В данном случае это вершина Р с расстоянием 15 км.
4) Обновим расстояние до соседних вершин от В через Р:
- Вершина П4: расстояние до нее = 15 + 20 = 35 км.
- Вершина АО: расстояние до нее = 15 + 10 = 25 км.
- Вершина Е: расстояние до нее остается без изменений.
5) Посещаем вершину Р и рассматриваем ее соседние вершины:
- Вершина ПЗ: расстояние до нее = 35 + 25 = 60 км.
- Вершина П5: расстояние до нее = 35 + 15 = 50 км.
6) Выбираем вершину с минимальным расстоянием из рассмотренных вершин. В данном случае это вершина П5 с расстоянием 50 км.
7) Обновим расстояние до соседних вершин от В через П5:
- Вершина Г: расстояние до нее = 50 + 20 = 70 км.
- Вершина П7: расстояние до нее = 50 + 25 = 75 км.
- Вершина Е: расстояние до нее остается без изменений.
8) Посещаем вершину П5 и рассматриваем ее соседние вершины:
- Вершина ПЗ: расстояние до нее = 50 + 15 = 65 км.
9) Выбираем вершину с минимальным расстоянием из рассмотренных вершин. В данном случае это вершина ПЗ с расстоянием 65 км.
10) Обновим расстояние до соседней вершины Е от В через ПЗ:
- Вершина Е: расстояние до нее = 65 + 25 = 90 км.
11) Посещаем вершину ПЗ и рассматриваем ее соседние вершины:
- Вершина П6: расстояние до нее = 65 + 20 = 85 км.
12) Выбираем вершину с минимальным расстоянием из рассмотренных вершин. В данном случае это вершина П6 с расстоянием 85 км.
13) Обновим расстояние до соседней вершины Е от В через ПЗ и П6:
- Вершина Е: расстояние до нее = 85 + 10 = 95 км.
По завершении алгоритма, получаем, что кратчайший путь между пунктами В и К составляет 95 км.
Шаги решения:
1) Обозначим вершину В как начальную вершину и запишем ее расстояние от начальной вершины как 0. Начнем считать расстояния до всех остальных вершин как бесконечность, так как они пока не посещены.
2) Найдем вершину с минимальным расстоянием от начальной вершины (по таблице), обозначим ее как текущую вершину и посетим ее.
3) Рассмотрим все соседние вершины текущей вершины. Если сумма расстояния от начальной вершины до текущей вершины и длины ребра между текущей вершиной и соседней вершиной меньше, чем текущее расстояние от начальной вершины до соседней вершины, то обновим это расстояние.
4) Повторяем шаг 2 и шаг 3, пока все вершины не будут посещены.
5) По завершении алгоритма, записываем длину кратчайшего пути между пунктами В и К, которая будет находиться в поле расстояния до вершины К.
Вот пошаговое решение для данной схемы дорог:
1) Начнем с вершины В и запишем ее расстояние от начальной вершины как 0.
2) Рассмотрим соседние вершины В:
- Вершина Р: расстояние до нее = 15 км.
- Вершина Е: расстояние до нее = 30 км.
- Вершина АО: расстояние до нее = 35 км.
3) Выберем вершину с минимальным расстоянием из рассмотренных вершин. В данном случае это вершина Р с расстоянием 15 км.
4) Обновим расстояние до соседних вершин от В через Р:
- Вершина П4: расстояние до нее = 15 + 20 = 35 км.
- Вершина АО: расстояние до нее = 15 + 10 = 25 км.
- Вершина Е: расстояние до нее остается без изменений.
5) Посещаем вершину Р и рассматриваем ее соседние вершины:
- Вершина ПЗ: расстояние до нее = 35 + 25 = 60 км.
- Вершина П5: расстояние до нее = 35 + 15 = 50 км.
6) Выбираем вершину с минимальным расстоянием из рассмотренных вершин. В данном случае это вершина П5 с расстоянием 50 км.
7) Обновим расстояние до соседних вершин от В через П5:
- Вершина Г: расстояние до нее = 50 + 20 = 70 км.
- Вершина П7: расстояние до нее = 50 + 25 = 75 км.
- Вершина Е: расстояние до нее остается без изменений.
8) Посещаем вершину П5 и рассматриваем ее соседние вершины:
- Вершина ПЗ: расстояние до нее = 50 + 15 = 65 км.
9) Выбираем вершину с минимальным расстоянием из рассмотренных вершин. В данном случае это вершина ПЗ с расстоянием 65 км.
10) Обновим расстояние до соседней вершины Е от В через ПЗ:
- Вершина Е: расстояние до нее = 65 + 25 = 90 км.
11) Посещаем вершину ПЗ и рассматриваем ее соседние вершины:
- Вершина П6: расстояние до нее = 65 + 20 = 85 км.
12) Выбираем вершину с минимальным расстоянием из рассмотренных вершин. В данном случае это вершина П6 с расстоянием 85 км.
13) Обновим расстояние до соседней вершины Е от В через ПЗ и П6:
- Вершина Е: расстояние до нее = 85 + 10 = 95 км.
По завершении алгоритма, получаем, что кратчайший путь между пунктами В и К составляет 95 км.