Warning: Undefined array key "DOKU_PREFS" in /home/clients/a4e6fc1ce1761b72982b805de0f418c4/web/python/mesrecettespython/inc/common.php on line 2082
permutations [Les recettes Python de Tyrtamos]

Outils pour utilisateurs

Outils du site


permutations

Warning: Undefined array key -1 in /home/clients/a4e6fc1ce1761b72982b805de0f418c4/web/python/mesrecettespython/inc/html.php on line 1458

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 de tyrtamos