IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Algorithme pour générer les permutations d'un ensemble avec répértition d'éléments


Sujet :

C++

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2016
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Algorithme pour générer les permutations d'un ensemble avec répértition d'éléments
    Bonjour!

    Je viens de m'inscrire sur le forum, je pratique la programmation par plaisir, je ne connais que le c++. Je bute sur un problème et je ne sais vraiment pas par quel bout m'y prendre.
    Je cherche à générer les permutations d'un ensemble avec répétitions.

    Par exemple

    AABBBB
    ABABBB
    ABBABB
    ABBBAB
    ABBBBA
    BAABBB
    BABABB
    ...

    Je sais générer toutes les permutations d'un ensemble de n éléments, mais cela donne n! combinaisons possibles, ce qui est énorme en temps de calcul pour des ensembles un peu plus gros. Si je tiens compte des répétitions des éléments du même type j'obtient n!/(n1! * n2! *...*nk!) combinaisons possibles (où n1, n2...nk sont le nombre d'éléments du premier type, du second type... du k-ième type).

    Dans mon exemple il existerait 6!=720 combinaisons possibles obtenues avec permutations "simples", et 6!/(2!*4!) = 15 combinaisons possibles obtenues en tenant compte des répétitions du même élément. Là, cela ne fait pas une grande différence, mais sur des ensembles d'une vingtaine d'éléments cela devient vite indispensable, mais je ne sais pas du tout comment m'y prendre...
    Si quelqu'un sait comment faire un algo, au moins dans la logique, qui saurait générer tout ça en évitant de calculer tous les doublons, je suis preneur!

  2. #2
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2011
    Messages
    746
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 746
    Points : 3 667
    Points
    3 667

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2016
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par jo_link_noir Voir le message
    Merci beaucoup! C'est exactement ce que je cherchais. Je pensais devoir le faire moi même, car je ne connais pas bien <algorithm>. Dans mon code ça fonctionne, je vais essayer de comprendre comment elle marche en interne. Encore merci!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Algorithme pour générer les appariements de parties d'echecs
    Par User dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 21/03/2009, 20h38
  2. générer toutes les permutations d'un ensemble fini d'éléments
    Par Didier77 dans le forum Algorithmes et structures de données
    Réponses: 17
    Dernier message: 25/09/2007, 07h34
  3. problème avec idlj pour générer les stubs
    Par merlubreizh dans le forum CORBA
    Réponses: 2
    Dernier message: 25/02/2007, 10h29
  4. problème d'algorithme pour trouver les circuit d'un graphe
    Par marc_dd dans le forum Algorithmes et structures de données
    Réponses: 11
    Dernier message: 21/08/2006, 16h36
  5. algorithme pour enlever les occurences d'une liste
    Par bendenice dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 08/02/2006, 23h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo