Python

Есть способ без ста грамм разобраться в этом алгоритме?

Все возможные перестановки 1 2 3 через рекурсию. Код после этих МНОГАБУКФФ
(1, 'not in a')
('iter', 1)
('a is', [])
('a before recursion call is', [])
(1, ' in a. Loop is over')
(2, 'not in a')
('iter', 2)
('a is', [1])
('a before recursion call is', [1])
(1, ' in a. Loop is over')
(2, ' in a. Loop is over')
(3, 'not in a')
('iter', 3)
('a is', [1, 2])
('a before recursion call is', [1, 2])
('RESULT', [1, 2, 3])
('a after recursion call is', [1, 2])
('a after recursion call is', [1])
(3, 'not in a')
('iter', 3)
('a is', [1])
('a before recursion call is', [1])
(1, ' in a. Loop is over')
(2, 'not in a')
('iter', 2)
('a is', [1, 3])
('a before recursion call is', [1, 3])
('RESULT', [1, 3, 2])
('a after recursion call is', [1, 3])
(3, ' in a. Loop is over')
('a after recursion call is', [1])
('a after recursion call is', [])
(2, 'not in a')
('iter', 2)
('a is', [])
('a before recursion call is', [])
(1, 'not in a')
('iter', 1)
('a is', [2])
('a before recursion call is', [2])
(1, ' in a. Loop is over')
(2, ' in a. Loop is over')
(3, 'not in a')
('iter', 3)
('a is', [2, 1])
('a before recursion call is', [2, 1])
('RESULT', [2, 1, 3])
('a after recursion call is', [2, 1])
('a after recursion call is', [2])
(2, ' in a. Loop is over')
(3, 'not in a')
('iter', 3)
('a is', [2])
('a before recursion call is', [2])
(1, 'not in a')
('iter', 1)
('a is', [2, 3])
('a before recursion call is', [2, 3])
('RESULT', [2, 3, 1])
('a after recursion call is', [2, 3])
(2, ' in a. Loop is over')
(3, ' in a. Loop is over')
('a after recursion call is', [2])
('a after recursion call is', [])
(3, 'not in a')
('iter', 3)
('a is', [])
('a before recursion call is', [])
(1, 'not in a')
('iter', 1)
('a is', [3])
('a before recursion call is', [3])
(1, ' in a. Loop is over')
(2, 'not in a')
('iter', 2)
('a is', [3, 1])
('a before recursion call is', [3, 1])
('RESULT', [3, 1, 2])
('a after recursion call is', [3, 1])
(3, ' in a. Loop is over')
('a after recursion call is', [3])
(2, 'not in a')
('iter', 2)
('a is', [3])
('a before recursion call is', [3])
(1, 'not in a')
('iter', 1)
('a is', [3, 2])
('a before recursion call is', [3, 2])
('RESULT', [3, 2, 1])
('a after recursion call is', [3, 2])
(2, ' in a. Loop is over')
(3, ' in a. Loop is over')
('a after recursion call is', [3])
(3, ' in a. Loop is over')
('a after recursion call is', [])
Алексей Уваров
Алексей Уваров
89 659
Это размещение же..
Порядок, если не ошибаюсь, такой:

[] + [1]
--- [] + [1] + [1]
------[] + [1] + [1] + [1]
------[] + [1] + [1] + [2]
------[] + [1] + [1] + [3]
--- [] + [1] + [2]
------[] + [1] + [2] + [1]
------[] + [1] + [2] + [2]
------[] + [1] + [2] + [3]
--- [] + [1] + [3]
------[] + [1] + [3] + [1]
------[] + [1] + [3] + [2]
------[] + [1] + [3] + [3]
[] + [2]
--- [] + [2] + [1]
------[] + [2] + [1] + [1]
------[] + [2] + [1] + [2]
------[] + [2] + [1] + [3]
--- [] + [2] + [2]
------[] + [2] + [2] + [1]
------[] + [2] + [2] + [2]
------[] + [2] + [2] + [3]
--- [] + [2] + [3]
------[] + [2] + [3] + [1]
------[] + [2] + [3] + [2]
------[] + [2] + [3] + [3]
[] + [3]
--- [] + [3] + [1]
------[] + [3] + [1] + [1]
------[] + [3] + [1] + [2]
------[] + [3] + [1] + [3]
--- [] + [3] + [2]
------[] + [3] + [2] + [1]
------[] + [3] + [2] + [2]
------[] + [3] + [2] + [3]
--- [] + [3] + [3]
------[] + [3] + [3] + [1]
------[] + [3] + [3] + [2]
------[] + [3] + [3] + [3]
Егор Скожепа
Егор Скожепа
18 091
Лучший ответ
Егор Скожепа От короткой к длинной ветке по идее..
Егор Скожепа Рекурсивное построение дерева вроде называется..
Я ничего не понял, но отвечу, чтобы можно было выбрать ответ человека выше, как лучший ответ
JT
Jasur Turdiyev
3 681