Я пытаюсь решить проблему в двунаправленном взвешенном графике , представляющем Metro Service, с примерно 300 узлами и 700 ребрами.
Узлы определяются станцией метро, а ребра - это строки с информацией о линии, к которой они принадлежат, и время (являющееся весом ребра), необходимое для перемещения по этому ребру.
Я должен определить самый быстрый путь между двумя станциями, учитывая список неупорядоченных (если бы им было приказано перестановка кратчайших путей между всеми станциями, было бы достаточно) обязательных станций, и он может пойти через другие станции, а также
После того, как я искал проблему, я увидел несколько предложений по созданию подграфа + применение DFS. Поэтому я создал график с начальной станцией + обязательными станциями + конечной станцией в качестве новых вершин, а ребра с информацией о кратчайшем пути между каждой станцией + время, которое требуется для перемещения.
Проблема, с которой я столкнулся сейчас, заключается в следующем: как применить DFS к этому новому подграфу, который принудительно делает последнюю посещенную станцию той, которая у меня есть, в качестве пункта назначения?
Извините за длинный вопрос!