В строке 19 вы распечатываете первую позицию рядом с «текущей» позицией.
В строке 21 вы распечатываете места, связанные с «текущей» позицией, которую вы считаете. Вы посещаете позицию, идущую вперед, только если вы никогда не посещали ее раньше.
Если не существует не посещенных «следующих» мест, вы знаете, что решение не предполагает прохождения «текущего» местоположения, поэтому вы возвращаетесь на один шаг назад и пробуете более поздние подключения оттуда.
Выполните несколько шагов:
Start
At 0
See 1, it is unvisited, go there
At 1
See 0, it is visited
See 2, it is unvisited, go there
At 2
See 1, it is visited
No more locations at 2, backtrack
At 1
See 0, it is visited
See 2, it is visited
No more locations at 1, backtrack
At 0
See 1, it is visited
See 3, it is unvisited, go there
....