Рассмотрим некоторые алгоритмы порождения (перечисления) последовательности всех перестановок n элементов.
Например, для n = 3:
1,2,3
1,3,2
2,1,3
3,1,2
3,2,1
n=2 | n=3 | n=4 | n=5 |
1 2 2 1 |
1 2 3 1 3 2 3 1 2 12 3 2 1 21 2 3 1 2 1 3 |
1 2 3 4 1 2 4 3 1 4 2 3 4 1 2 3 23 4 1 3 2 32 1 4 3 2 1 3 4 2 1 3 2 4 13 3 1 2 4 31 3 1 4 2 3 4 1 2 4 3 1 2 12 4 3 2 1 21 3 4 2 1 3 2 4 1 3 2 1 4 32 2 3 1 4 23 2 3 4 1 2 4 3 1 4 2 3 1 31 4 2 1 3 13 2 4 1 3 2 1 4 3 2 1 3 4 |
1 2 3 4 5 1 2 3 5 4 1 2 5 3 4 1 5 2 3 4 5 1 2 3 4 34 5 1 2 4 3 43 1 5 2 4 3 1 2 5 4 3 1 2 4 5 3 1 2 4 3 5 24 1 4 2 3 5 42 1 4 2 5 3 1 4 5 2 3 1 5 4 2 3 5 1 4 2 3 14 5 4 1 2 3 41 4 5 1 2 3 4 1 5 2 3 4 1 2 5 3 4 1 2 3 5 23 4 1 3 2 5 32 4 1 3 5 2 4 1 5 3 2 4 5 1 3 2 5 4 1 3 2 41 5 1 4 3 2 14 1 5 4 3 2 ...... |