Для любого ограниченного графа стек пройденного пути не может быть больше числа
![$n$ $n$](https://dxdy-02.korotkov.co.uk/f/5/5/a/55a049b8f161ae7cfeb0197d75aff96782.png)
всех вершин. Т.е. стек всегда ограничен и его максимальная длина известна, она равна размерности графа.
Можно уменьшить память, не используя стек, а помечая пройденные вершины специальным образом.
Имеем матрицу смежности графа. В ней вес каждой вершины равен 1. При посещении вершины в прямом направлении присваиваем ей в матрице смежности вес равный 2, при обратном движении - 3. Находясь в какой-либо вершине, можно продолжить путь только через вершины с весом 1, а возвращаться только через
единственную вершину с весом 2.