Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente | Dernière révision Les deux révisions suivantes | ||
permutations [2010/01/09 08:57] tyrtamos |
permutations [2010/01/09 11:10] tyrtamos |
||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
**//En construction// | **//En construction// | ||
- | Référence pour la définition: | + | ===== Objectif ===== |
- | Par exemple, les permutations de trois objets | + | Exemple: soit une liste d'objets |
- | ==== Calcul du nombre | + | * on veut savoir les présenter |
- | === Nombre de permutations sans répétition === | + | * en tenant compte si nécessaire des répétitions (ex: [1,2,2] |
+ | |||
+ | * et on veut savoir combien il y en a. | ||
+ | |||
+ | \\ | ||
+ | Référence externe pour la définition: | ||
+ | |||
+ | ===== Calcul du nombre de permutations ===== | ||
+ | |||
+ | ==== Nombre de permutations sans répétition | ||
Dans l' | Dans l' | ||
Ligne 19: | Ligne 28: | ||
""" | """ | ||
x = 1 | x = 1 | ||
- | for i in xrange(2, n[0]+1): | + | for i in xrange(2, n+1): |
x *= i | x *= i | ||
return x | return x | ||
Ligne 31: | Ligne 40: | ||
</ | </ | ||
- | === Nombre de permutations avec répétition === | + | ==== Nombre de permutations avec répétition |
Là, on a un objet plus complexe, composés d' | Là, on a un objet plus complexe, composés d' | ||
Ligne 119: | Ligne 128: | ||
* dans le cas contraire, il suffit d' | * dans le cas contraire, il suffit d' | ||
- | ==== Liste des permutations de chaînes de caractères présentées dans une liste ==== | + | ===== Liste des permutations de chaînes de caractères présentées dans une liste ===== |
On sait maintenant calculer le **nombre** de permutations, | On sait maintenant calculer le **nombre** de permutations, | ||
Ligne 146: | Ligne 155: | ||
Bon. Dans vos essais, soyez raisonnables: | Bon. Dans vos essais, soyez raisonnables: | ||
- | === Code non récursif === | + | ==== Code non récursif |
Le code non-récursif est ici assez concis et très rapide (2 à 3 fois plus que le code récursif). | Le code non-récursif est ici assez concis et très rapide (2 à 3 fois plus que le code récursif). | ||
Ligne 190: | Ligne 199: | ||
- | === Code récursif === | + | ==== Code récursif |
Voilà le code récursif: | Voilà le code récursif: | ||
Ligne 223: | Ligne 232: | ||
- | ==== Liste des permutations des caractères d'une chaîne de caractères ==== | + | ===== Liste des permutations des caractères d'une chaîne de caractères |
Même principe que précédemment, | Même principe que précédemment, |