Forum Liberty Basic France

Général » [Réglé] Problème algorithmique Logique combinatoire
Le 13/04/2011 à 15h27

Administrateur

Groupe: Administrateur

Inscrit le: 24/09/2010
Messages: 203
Bonjour à tous !

Je sèche pour trouver une solution simple à un problème :

J'ai une liste L contenant le nom d'autre listes simple.
Ces autre listes (notés li) contiennent simplement des éléments.
J'aimerais faire la combinaison des li apparaissant dans L


Petit exemple pour mieux comprendre :
Si j'ai L : [l1,l2]
l1 : [a,b] et l2 : [c,d]
J'aimerais obtenir L_final : [[a,c],[a,d],[b,c],[b,d]]


Bien sur, la taille de L et des li ne sont pas connus à l'avance.


J'ai une piste de solution en utilisant un algorithme simulant n boucles for imbriqués (je le posterais dès que je rentrerez chez moi), mais j'aimerais savoir s'il n'y a pas plus simple !

Qu'en pensez-vous ??

Black Templar

Mail MSN Web    
Le 13/04/2011 à 18h35

Administrateur

Groupe: Administrateur

Inscrit le: 24/09/2010
Messages: 203
Finalement, j'ai trouvé une solution plus élégante.
La complexité de l'algorithme est toujours exponentielle en fonction de la taille de L, mais au moins, je n'ai plus à simulé des boucles for imbriqués (comme ici : http://libertybasic.fr/forum/topic-43+lb-algorithme-simuler-le-comportement-d-un-nombre-n-de-boucle-for-imbriques.php )

Je passe par une liste intermédiaire :
Je fais la combinaison de 2 listes que je stocke dans la liste intermédiaire, puis je fais la combinaison de cette liste par la liste suivante et ainsi de suite.
Finalement, trois boucle for sont nécessaire avec cette méthode.

Mail MSN Web    
Général » [Réglé] Problème algorithmique Logique combinatoire  

 |  |

1 Utilisateur en ligne : 0 Administrateur, 0 Modérateur, 0 Membre et 1 Visiteur
Utilisateur en ligne : Aucun membre connecté
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie