Algorithme d'obtention des permutations
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

Algorithme d'obtention des permutations



  1. #1
    DavianThule95

    Algorithme d'obtention des permutations


    ------

    Bonjour,

    Dans le cadre de mon TIPE, je suis amené à devoir énumérer les permutations de {1, 2, 3,..., n}.
    Je suis donc à la recherche d'un algorithme qui me permettrait de le faire.

    Dans la mesure où je souhaite énumérer un grand nombre de ces permutations, j'aimerais en fait trouver un algorithme qui prendrait en entrée une permutation, et me renverrait la "suivante", de telle sorte que cette permutation suivante soit distante de la précédente d'une seule transposition.

    Je me suis déjà renseigné sur Internet, et il semblerait que l' "algorithme de Heap" corresponde partiellement à mes attentes : il énumère toutes les permutations, dans un ordre tel que chaque permutation peut se déduire de celle énumérer à l'instant précédent d'une unique transposition. Cependant, cet algorithme renvoie la liste entière, là où j'aimerais qu'il me renvoie uniquement une seule permutation.

    Vous sauriez si cela existe ?

    Merci d'avance !

    -----
    Je dis ça je dis rien mais j'le dis quand même.

  2. #2
    pm42

    Re : Algorithme d'obtention des permutations

    Citation Envoyé par DavianThule95 Voir le message
    il semblerait que l' "algorithme de Heap" corresponde partiellement à mes attentes : il énumère toutes les permutations, dans un ordre tel que chaque permutation peut se déduire de celle énumérer à l'instant précédent d'une unique transposition. Cependant, cet algorithme renvoie la liste entière, là où j'aimerais qu'il me renvoie uniquement une seule permutation.
    L'algorithme de Heap peut parfaitement faire ça que ce soit la version reçursive ou itérative.
    Le plus simple est sans doute de prendre l'itératif tel que décrit par Wikipedia et on l'implémente en mémorisant compteur et i.
    2 solutions pour cela : soit on fait une classe dans laquelle tableau, n, compteur et i sont des variables d'instance et on code une méthode qui à chaque appelle fait 1 itération de la boucle, c'est à dire une modification de i.

    Soit on code une méthode à laquelle on passe tout ces arguments, tableau et n étant par valeur et compteur et i étant par référence pour que la dite méthode puisse les modifier.

  3. #3
    DavianThule95

    Re : Algorithme d'obtention des permutations

    D'accord ! Merci pour la réponse.

    Je vais essayer de faire ça du coup (en commençant par bien comprendre l'algorithme de Heap). Je reviens vers vous si j'ai des difficultés.

    Bonne journée
    Je dis ça je dis rien mais j'le dis quand même.

Discussions similaires

  1. Permutations
    Par Antoniuum dans le forum Mathématiques du supérieur
    Réponses: 11
    Dernier message: 07/09/2015, 07h53
  2. permutations
    Par Snowey dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 28/05/2012, 13h25
  3. Permutations
    Par invite2d0f5281 dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 14/12/2009, 11h39
  4. Défi (permutations)
    Par invited056d314 dans le forum Mathématiques du collège et du lycée
    Réponses: 2
    Dernier message: 12/03/2009, 17h19
  5. Cycles de permutations
    Par invite9353dfb4 dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 18/01/2007, 17h44