У меня есть ряд чисел от 0 до 9. Каждое число представляет собой позицию с координатой x и y. Таким образом, позиция 0 может представлять (5, 5) или что-то подобное, всегда (x, y). Теперь мне нужно сделать рекурсивно bash каждый возможный маршрут, используя 5 позиций, чтобы получить позицию, заданную пользователем. Так, например:Рекурсивно найти путь
Input = (1, 2) //This is the co-ordinate the user gives.
Теперь, учитывая этот ввод, он должен пройти все возможные пути и найти самый короткий. Некоторые пути могут быть следующими:
start 0 1 2 3 4 input
start 0 1 2 3 5 input
start 0 1 2 3 6 input
start 0 1 2 3 7 input
start 0 1 2 4 3 input
start 1 0 2 3 5 input
and so on....
Это может быть любая комбинация из 5 цифр из 0-9. Он должен заканчиваться на входе и начинаться с начала назначения. Номера нельзя использовать повторно. Поэтому мне нужно рекурсивно добавить все расстояния для данного курса (например, начать 0 1 2 3 4 ввода) и найти кратчайший курс, пройдя через эти 5 баллов.
Вопрос: Каким будет базовый и рекурсивный случай?
Посмотрите на Dijkstra's_algorithm https://en.wikipedia.org/wiki/Dijkstra's_algorithm –