permutation einer liste
Verfasst: Dienstag 7. Oktober 2008, 21:41
guten tag.
hi, ich sitzte gerade an einem schulprojekt.
Ein roboter soll verschiedene stationen anlaufen und braucht bestimmte zeiten für verschiedene wege, dies alles hab ich in klassen programmiert. ich hab eine klasse roboter und eine klasse stationen erstellt, mit der klasse stationen kann ich unendlich viele stationen in unterschiedlichen abständen erstellen (alles nur theoretisch in der konsole eine GUI kommt noch)...
dieser roboter soll nun alle möglichen varianten durchgehen und die zeit messen... also ich bin jetzt so weit, dass die stationen aufgelistet werden und der roboter diese liste abläuft...
also die liste sieht so aus [statio1,statio2,statio3,...,statio'x'] so, nun läuft der roboter sie in der reihenfolge ab, aber er soll auch alle anderen varianten laufen... nunja also hier mal ein beispiel:
wenn ich die liste [a,b,c] habe soll diese liste diese ganzen formen annehmen:
abc,acb,bac,bca,cab,cba
ich habe mich lange mit dem Problem beschäftigt und habe keinen algorithmus programmieren können, der dieses problem löst höchstens eine liste mit 4 einträgen konnte mein algorithmus lösen... bei 5 fing er schon an varianten zu doppeln... ich weiß dass man so einen algorithmus auch rekusiv aufbauen kann, oder sollte.^^ Wie mache ich das... bzw wie programmier ich sowas? ich habe wirklich schon ne menge ausprobiert und bin mit meinem latein am ende.
ich freue mich auf anworten und anregungen die mir weiterhelfen könnten
mit freundlichem gruß, thorte
ps: mit der groß und kleinschreibung hab ich es nicht so, ich hoffe ihr verzeiht mir dies =)
hi, ich sitzte gerade an einem schulprojekt.
Ein roboter soll verschiedene stationen anlaufen und braucht bestimmte zeiten für verschiedene wege, dies alles hab ich in klassen programmiert. ich hab eine klasse roboter und eine klasse stationen erstellt, mit der klasse stationen kann ich unendlich viele stationen in unterschiedlichen abständen erstellen (alles nur theoretisch in der konsole eine GUI kommt noch)...
dieser roboter soll nun alle möglichen varianten durchgehen und die zeit messen... also ich bin jetzt so weit, dass die stationen aufgelistet werden und der roboter diese liste abläuft...
also die liste sieht so aus [statio1,statio2,statio3,...,statio'x'] so, nun läuft der roboter sie in der reihenfolge ab, aber er soll auch alle anderen varianten laufen... nunja also hier mal ein beispiel:
wenn ich die liste [a,b,c] habe soll diese liste diese ganzen formen annehmen:
abc,acb,bac,bca,cab,cba
ich habe mich lange mit dem Problem beschäftigt und habe keinen algorithmus programmieren können, der dieses problem löst höchstens eine liste mit 4 einträgen konnte mein algorithmus lösen... bei 5 fing er schon an varianten zu doppeln... ich weiß dass man so einen algorithmus auch rekusiv aufbauen kann, oder sollte.^^ Wie mache ich das... bzw wie programmier ich sowas? ich habe wirklich schon ne menge ausprobiert und bin mit meinem latein am ende.
ich freue mich auf anworten und anregungen die mir weiterhelfen könnten
mit freundlichem gruß, thorte
ps: mit der groß und kleinschreibung hab ich es nicht so, ich hoffe ihr verzeiht mir dies =)