Я хотел бы найти путь фиксированной длины (заданный при запуске программы) в неориентированном графе. Я использую матрицу смежности своего графа.
Я пытался использовать некоторые алгоритмы, такие как DFS или A *, но они возвращают только кратчайший путь.
Узлы нельзя посещать снова.
Итак, предположим, что у моего графа 9 узлов, а кратчайший путь построен из 4 узлов.
Я хочу иметь дополнительную переменную, которая «сообщит» алгоритму, что я хочу найти путь, который имеет 7 узлов (например) и он вернет узлы, которые включены в мой ожидаемый путь {1,2,4,5,6,7,8}.
Конечно, если нет решения для пути, который я хочу, он ничего не вернет (или он вернет путь, близкий к моим вычислениям, скажем, 19 вместо 20).
Кто-то сказал про DFS с возвратом, но я ничего об этом не знаю.
Может ли кто-нибудь объяснить, как использовать DFS с возвратом, или порекомендовать другие алгоритмы для решения этой проблемы?