Outils pour utilisateurs

Outils du site


permutations

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
permutations [2010/01/09 11:10]
tyrtamos
permutations [2010/01/09 11:27] (Version actuelle)
tyrtamos
Ligne 1: Ligne 1:
 ====== Permutations ====== ====== Permutations ======
- 
-**//En construction//​** 
  
 ===== Objectif ===== ===== Objectif =====
Ligne 153: Ligne 151:
  
 \\ \\
-Bon. Dans vos essais, soyez raisonnables:​ n'​oubliez pas que le nombre de permutation augmente très rapidement avec la longueur de la liste seq (factorielle de len(seq)). Ainsi, une liste toute simple comme seq = [1,​2,​3,​4,​5,​6,​7,​8,​9] donnera (en moins d'une seconde avec le code non-récursif) la liste des 362880 façons de présenter la liste seq...+Bon. Dans vos essais, soyez raisonnables:​ n'​oubliez pas que le nombre de permutation augmente très rapidement avec la longueur de la liste seq (factorielle de len(seq)). Ainsi, une liste toute simple comme seq = [1,​2,​3,​4,​5,​6,​7,​8,​9] donnera (en moins d'une seconde avec le code non-récursif) la liste des 362880 façons de présenter la liste seq. Cette liste sera tellement longue qu'​elle risque même de ne pas pouvoir s'​afficher sur votre PC...
  
 ==== Code non récursif ==== ==== Code non récursif ====
Ligne 223: Ligne 221:
 On ne donne jamais le 3ème argument k qui n'est utilisé que comme variable interne. On ne donne jamais le 3ème argument k qui n'est utilisé que comme variable interne.
  
-Au lancement de la fonctionpermutliste([1,​2,​3,​4]),​ le 1er passage (sans la récursion),​ donnera avec k=0 les 4 rotations: [1,2,3,4], [2,3,4,1], [3,4,1,2], [4,1,2,3]. Pour chacune de ces valeurs, un appel récursif avec l'​indice de rotation k+1 permettra de retourner toutes les séquences de rotation suivantes. Etc... jusqu'​à ce que k=len(seq)-1 auquel cas il n'y a plus de rotation à faire.+Au lancement de la fonction permutliste([1,​2,​3,​4]),​ le 1er passage (sans la récursion),​ donnera avec k=0 les 4 rotations: [1,2,3,4], [2,3,4,1], [3,4,1,2], [4,1,2,3]. Pour chacune de ces valeurs, un appel récursif avec l'​indice de rotation k+1 permettra de retourner toutes les séquences de rotation suivantes. Etc... jusqu'​à ce que k=len(seq)-1 auquel cas il n'y a plus de rotation à faire.
  
 Ce code donne bien entendu les mêmes résultats que le code non-récursif. Ce code donne bien entendu les mêmes résultats que le code non-récursif.
permutations.txt · Dernière modification: 2010/01/09 11:27 par tyrtamos