Я пытаюсь написать программу, чтобы найти кратчайший путь в 3D-лабиринте с использованием рекурсии.Самый короткий путь в 3D-лабиринте
Я могу написать код, который находит случайный путь через лабиринт, но мне интересно, как я могу изменить свой код, чтобы найти кратчайший путь.
Обратите внимание, что я хочу сохранить рекурсивный подход.
Может кто-нибудь предложить решение?
Вот пример 2D лабиринт:
s
XXXX
XX X
XXX
Xe X
Один начинается с s
собирается e
. X
является препятствием, и является маршрутом.
Какова структура данных для хранения узлов? –
Лабиринт - это 3D-сетка. Я использую 3D-таблицу, и каждый узел определяется его декартовыми координатами (x, y, z). –
Почему вы хотите найти рекурсивное решение? Это не всегда быстрее. Попробуйте прочитать о 'A * Algorithm'. –