Я проверял это по сети и спрашивал друзей, так как я очень плохо знаком с кодированием.Я нахожу все эти посты о написании всех возможных перестановок на n букв.Я не ищу этого.
То, что я пытаюсь достичь, - это массив целых чисел, я хочу превратить это в перестановку следующим образом.Скажем, X - это массив целых чисел:
X = {3, 4, 1, 2, 5}
Теперь люди, знакомые с группами перестановок (или симметричной группой), будут знать, что существует циклобозначение для любой перестановки.Я хочу видеть X как некоторую функцию, которая присваивает значения следующим образом:
1 -> 3
2 -> 4
3 -> 1
4 -> 2
5 -> 5
Таким образом, если указанная выше функция является сигмой перестановки, то мы имеем sigma (1) = 1-ю запись в X, sigma (2) = 2-я запись в X и т. д.
И, наконец, мне нужно посчитать, сколько циклов будет в этой перестановке, или количество циклов в обозначении циклов.Снова для примера выше, у нас есть
1 -> 3 -> 1 (так что это один цикл)
2 -> 4 -> 2 (другой цикл)
5 -> 5 (это также цикл)
Так что следует также сказать, что в этом случае X имеет 3 цикла.
Это может быть подробнымвопрос, но любой, хоть немного, помощь приветствуется.Спасибо всем ооочень большое!