Алгоритм Дейкстры без «предыдущего» вектора - PullRequest
1 голос
/ 21 января 2011

Мне интересно найти минимальное расстояние между любым узлом на графике и корнем / источником. Все ссылки имеют вес. Я не думаю, что мне нужно использовать previous[], указанное в статье Википедии , поскольку мне не нужно знать родителя каждого узла. Это верно? Кроме того, если все веса равны единице, я думаю, я мог бы просто запустить BFS?

1 Ответ

3 голосов
/ 21 января 2011

Вполне возможно реализовать алгоритм Дейкстры без обратных указателей;Я знаю это, потому что Я сделал это сам .:-) В результате вы не сможете восстановить кратчайшие пути, как только закончите, но если все, что вам нужно, это длины пути, которые должны быть идеально хорошими.

Что касается вашего второго вопросаДа, вы можете просто использовать BFS напрямую с удельным весом.Алгоритм Дейкстры посещает узлы в том порядке, в котором они встречаются в BFS, если все ребра имеют одинаковую положительную стоимость.

...