Задать вопрос

Как найти кратчайший путь между двумя вершинами графа?

Задача: найти кратчайший путь между двумя вершинами взвешенного ненаправленного графа и вывести его в виде последовательности вершин. Граф задается матрицей смежности.
Использую Алгоритм Флойда-Уоршелла нахождения кратчайших путей между всеми парами вершин
(e-maxx.ru/algo/floyd_warshall_algorithm).

for (int k=0; k<n; ++k)
	for (int i=0; i<n; ++i)
		for (int j=0; j<n; ++j)
			d[i][j] = min (d[i][j], d[i][k] + d[k][j]);


Вопрос: как восстановить пути? По ссылке написано про "простой рекурсивный алгоритм восстановления кратчайшего пути". Но у меня не получается его написать.
  • Вопрос задан
  • 10183 просмотра
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Яндекс Практикум
    Разработчик C++ расширенный
    12 месяцев
    Далее
  • Яндекс Практикум
    Мидл разработчик С++
    4 месяца
    Далее
Решения вопроса 1
BuriK666
@BuriK666
Компьютерный псих
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы