Hallo,
ich möchte eine Art „Routenplaner“ schreiben. Dazu hab ich ein GUI mit Canvas auf dem einige Punkte eingezeichnet werden können:
http://www.bilder-space.de/show_img.php?img=c01f62-1…
Mein Programm soll jetzt vom ersten Punkt den kürzesten Weg über alle Punkte und zurück zum Startpunkt berechnen. Dazu brauch ich aber eine Liste mit den Möglichen Wegen.
Beispiel mit 4 Punkten (A, B, C und D):
A-B-C-D, A-B-D-C, A-C-B-D
(Das sind alle Möglichkeiten, da der Weg nur in eine Richtung berechnet werden muss, nicht rückwärts)
Beispiel mit 5 Punkten (A, B, C, D und E):
A-B-C-D-E, A-B-C-E-D, A-B-D-C-E, A-B-D-E-C,
A-C-B-D-E, A-C-B-E-D, A-C-D-B-E, A-C-D-E-B,
A-D-B-C-E, A-D-B-E-C, A-D-C-B-E, A-D-C-E-B
Für die Anzahl der Möglichkeiten ergibt sich mit n Punkten die Formel (n-1)!/2
Ich hoffe, jemand von euch hat eine Idee, wie man eine Funktion schreiben könnte, die für n Punkte die Möglichkeiten wiedergibt.
(Also eine Liste mit int-Arrays mit Zahlen von 0 bis n, statt Buchstaben)
LG Keks