2011-01-20 3 views
1

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

ответ

3

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

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

Смежные вопросы