algorithme de permutation et rotation cyclik

algorithme de permutation et rotation cyclik - C++ - Programmation

Marsh Posté le 15-03-2008 à 12:01:11    

Bonjour j ai une épine dans le pied j espère trouvé des éléments de répons.
J ai une liste d’élément chaînés implémenté en c++ mais le langage importe peut  
Je voudrais trouver tous les ordres possibles.
Exemple : j ai une machine qui réalise 5 taches quelle est l ensemble des ordres possible
Vous me diriez 5 !=120 mais comment faire pour avoir l’ensemble de ces ordres possibles et les affiché.(ABCDE)
J ai utilisé une approche algorithmique en utilisant de permutation et rotation sur l ensemble.
J explique : je me fixe sur une tache je l a permute jusqu a la fin a chaque permutation j applique des rotations
  ABCDE :
rotation1 :BCDEA
 rotation2 :CDEAB  
rotation3 DEABC  
 rotation4 EABCD  
rotation5 : ABCDE
 permutation (A ,B) BACDE  
appliqué la rotation de nouveau.
Mais je n ai pas tous les cas possibles qui devrais :
1-ABCDE : Applique les rotations 5 fois
2-ABCED : Applique les rotations 5 fois
3-ABDCE : Applique les rotations 5 fois  
4-ABDEC : Applique les rotations
5-ABEDC : Applique les rotations
6-ABEDC : Applique les rotations
7-ACBED : Applique les rotations
8-ACBDE : Applique les rotations
9-ACDBE : Applique les rotations
10-ACDEB : Applique les rotations
11-ACEDB : Applique les rotations
12-ACEBD : Applique les rotations
13-ADBEC : Applique les rotations
14-ADBCE : Applique les rotations
15-ADCBE : Applique les rotations
16-ADCEB : Applique les rotations
17-ADEBC : Applique les rotations
18-ADECB : Applique les rotations
19-AEBCD : Applique les rotations
20-AEBDC : Applique les rotations
21-AECBD : Applique les rotations
22-AECDB : Applique les rotations
23-AEDCB : Applique les rotations
24-AEDBC : Applique les rotations
 Nous savons 24 permutations et cinq rotation par permutation ce qui nous donne 120 solutions possible mais comment faire pour généré les 24 permutations sans répété une seule oui bien répété le moins de fois possible ?
SI VOUS AVEZ UN ALGORITHME QUI LE FAIT,? MERCI D AVANCE  
 
 
 
   
 

Reply

Marsh Posté le 15-03-2008 à 12:01:11   

Reply

Marsh Posté le 15-03-2008 à 14:08:28    

Salut
Un sujet qui a l'air très proche avec une solution c++:
http://forum.hardware.fr/hfr/Progr [...] 2719_1.htm


---------------
deluser --remove-home ptitchep
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed