Нахождение всех путей определенной длины во взвешенном неориентированном графе

0

Мне нужно сгенерировать все пути, которые меньше или равны заданной длине графика (график неориентирован и возможно иметь циклы). Я попытался использовать BFS, отслеживая пройденное расстояние, но я не уверен, как я буду следить за тем, чтобы каждый путь был другим.

Примечание. Я знаю, что это, вероятно, очень сложная вычислительная сложность, но пока я не беспокоюсь об этом.

Теги:
graph
path

1 ответ

0

Использование BFS - это правильный способ сделать это. Но вы также должны отслеживать уже найденные узлы.

Существует простой алгоритм от Dijkstra, который решает это для вас

  • 0
    Но так как у меня могут быть циклы, мне может понадобиться пересмотреть узел, как бы я справился с этим?
  • 0
    Dijkstra дает вам кратчайшие пути ко всем остальным узлам, начиная с одного узла, как я понимаю, повторное посещение необходимо из-за возможного более короткого пути (более длинные пути не имели бы смысла в моем уме), поэтому повторное посещение выполняется без настройки узла чтобы посетил. узел считается выполненным тогда и только тогда, когда кратчайший путь к этому узлу уже найден. в противном случае обновляется только «информация о расстоянии»

Ещё вопросы

Сообщество Overcoder
Наверх
Меню