que estoy buscando una forma eficaz de lograr esto:Conseguir todas las combinaciones posibles de una lista de números de
usted tiene una lista de los números 1 ..... n (por lo general: 1 .. 5 o 1..7 más o menos - razonablemente pequeño, pero puede variar según el caso)
necesita todas las combinaciones de todas las longitudes para esos números, por ejemplo todas las combinaciones de un solo número ({1}, {2}, .... {n}), luego todas las combinaciones de dos números distintos ({1,2}, {1,3}, {1,4}. .... {n-1, n}), a continuación, todas las combinaciones de FO tres de esos números ({1,2,3}, {1,2,4}) y así sucesivamente
Básicamente, dentro del grupo, el orden es irrelevante, entonces {1,2,3} es equivalente a {1,3,2} - es solo cuestión de obtener todos los grupos de x números
Parece que debería haber ser un algoritmo simple para esto, pero he buscado en vano hasta ahora. La mayoría de los algoritmos de combinación y permutación parecen a) tener en cuenta el orden (por ejemplo, 123 no es igual a 132), y siempre parecen operar en una sola cadena de caracteres o números ...
Cualquiera tiene un gran, Algoritmo nice'n'quick bajo la manga?
Gracias!
Básicamente estás buscando el [Power Set] (http://en.wikipedia.org/wiki/Power_set) de su lista (que matemáticamente es en realidad un conjunto, si todos sus elementos son únicos). –
Ver también aquí: https://stackoverflow.com/questions/7802822/all-possible-combinations-of-a-list-of-values/41642733#41642733 – RenniePet