Контрольные задания > Определите длину кратчайшего пути между пунктами A и F.
Вопрос:
Определите длину кратчайшего пути между пунктами A и F.
Ответ:
Для нахождения кратчайшего пути используем алгоритм Дейкстры. Шаги алгоритма:
1. Начинаем с пункта A, расстояние до него равно 0. Все остальные узлы имеют бесконечное расстояние.
2. Рассмотрим соседние узлы B и C. Расстояние до них от A равно 2 и 5 соответственно.
3. Из узлов с минимальным расстоянием выбираем B (расстояние 2). Рассмотрим его соседей C (расстояние через B равно 2+2=4) и D (расстояние через B равно 2+1=3).
4. Обновляем расстояния: до C — 4, до D — 3.
5. Из узлов с минимальным расстоянием выбираем D (расстояние 3). Рассмотрим его соседа E (расстояние через D равно 3+1=4).
6. Обновляем расстояния: до E — 4.
7. Из узлов с минимальным расстоянием выбираем C или E (оба имеют расстояние 4). Рассмотрим их соседа F (расстояние через E равно 4+1=5).
8. Обновляем расстояние: до F — 5.
9. Кратчайший путь от A до F равен 5.