Я только что закончил проект, в котором реализовал алгоритм рекурсивного возврата для генератора лабиринта. С тех пор я искал алгоритм, который проходит через матрицу, но проходит через каждый квадрат только один раз. Прямо как в алгоритме рекурсивного возврата, но без «возврата». Есть ли алгоритм для этого? Это пример того, что я имею в виду с матрицей 5 * 5:
5 4 1 20 21
6 3 2 19 22
7 8 17 18 23
10 9 16 15 24
11 12 13 14 25
Как вы можете видеть, вы можете начинать с квадрата 1 и заканчивать 25 без повторения любого другого квадрата. Спасибо за ваше время.