Witam!
Załóżmy, że istnieje zbiór niepowtarzających się elementów o rozmiarze n.
Z tego zbioru chcę wygenerować takie permutacje, żeby dany element na danej pozycji nie powtórzył się ani razu. Przykład:
zbiór: {1, 2, 3, 4}
unikatowe permutacje:
{1, 2, 3, 4}
{2, 1, 4, 3}
{3, 4, 1, 2}
{4, 3, 2, 1}
Takich permutacji jest dokładnie n. Generowanie wszystkich n! i wybieranie spośród nich unikatowych nie sprawdzi się w moim przypadku, ponieważ potrzebuję wygenerować do 10 sztuk ze zbioru, który może mieć kilkadziesiąt elementów.
Pytanie kieruję pod kątem języka C#.
Za wszelkie sugestie z góry dziękuję!