Для любого ограниченного графа стек пройденного пути не может быть больше числа
всех вершин. Т.е. стек всегда ограничен и его максимальная длина известна, она равна размерности графа.
Можно уменьшить память, не используя стек, а помечая пройденные вершины специальным образом.
Имеем матрицу смежности графа. В ней вес каждой вершины равен 1. При посещении вершины в прямом направлении присваиваем ей в матрице смежности вес равный 2, при обратном движении - 3. Находясь в какой-либо вершине, можно продолжить путь только через вершины с весом 1, а возвращаться только через
единственную вершину с весом 2.