Я ищу эффективный способ добиться этого:
у вас есть список чисел 1 ..... n (обычно: 1..5 или 1..7 или около того - достаточно мало, но может варьироваться от случая к случаю)
вам нужны все комбинации всех длин для этих чисел, например, все комбинации только одного числа ({1}, {2}, .... {n}), затем все комбинации двух разных чисел ({1,2}, {1,3}, {1,4} ..... {n-1, n}), затем все комбинации для трех из этих чисел ({1,2,3}, {1,2,4}) и т. д.
По существу, внутри группыпорядок не имеет значения, поэтому {1,2,3} эквивалентен {1,3,2} - это просто вопрос получения всех групп чисел x из этого списка
Похоже, что должно бытьпростой алгоритм для этого - но я тщетно искал до сих пор.Большинство комбинаторных и перестановочных алгоритмов, кажется, а) принимают во внимание порядок (например, 123 не равен 132), и они всегда, кажется, работают с одной строкой символов или чисел ....
У любогоотличный, хороший и быстрый алгоритм в рукаве ??
Спасибо!