Bonjour,
Voilà, je travaille sous LISP, sur l'algorithme du sac à dos.
Pour optimiser le traitement, je pense utiliser un arbre n-aire mais j'ai beaucoup de mal à le générer par récursivité.
Par exemple, à partir de cette liste :
( x y z )
J'aimerais générer (l'ordre n'est pas important) :
( ( x y z ) ( x z ) ( y z ) ( z ) )
Je pense utiliser les fonctions ajout_en_tete, reste(liste), tete(liste),
Bien sûr cette fonction doit être extensible à n termes :
( a b c d )
donne la séquence :
( ( a b c d ) (a b d) (a c d ) ( c d ) ( b c d ) ( b d ) ( c d ) ( d ) )
Merci d'avance pour votre aide
Partager