Problema di combinatoria

oleg.fresi
Ho questo problemino: generare tutti i sottoinsiemi di un insieme dato, ordinato per dimensione.
Per esempio: {}, {1}, {2}, {3}, {1,2}, {1,3}, {2,3}, {1,2,3}.
Il problema in questo caso non è tanto l'implementazione dell'algoritmo, ma capire come ottenere l'algoritmo. Devo implementare qualcosa relativo al calcolo combinatorio per risolverlo?
Potreste darmi una pista su cui ragionare?

Risposte
Super Squirrel
Credo sia giusto.
In pratica la funzione next_combination() non fa altro che generare la combinazione semplice successiva per un set di n elementi costituiti dai numeri che vanno da 0 a n-1.
D'altronde già quando in passato ti chiesi
... quali sono le combinazioni semplici in base 3 dell'insieme
{0, 1, 2, 3, 4}
?

tu rispondesti
sono: {0,1,2} {0,1,3} {0,1,4} {0,2,3} {0,2,4} {0,3,4} {1,2,3} {1,2,4} {1,3,4} {2,3,4}.

Semplicemente la funzione next_combination() implementa il metodo che anche a te è venuto naturale utilizzare.

oleg.fresi
Benissimo, ci sono. Ti ringrazio ancora una volta per l'aiuto e la pazienza.

Super Squirrel
Di niente! :D

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.