Anagram für beliebiges Wort

buchfrau

Neues Mitglied
Hallo ich muss ein Programm schreiben, dass für ein beliben string alle seine Anagrame ausspuckt.
Beispielweise sind die Anagramme zu "Nase": Nase Naes Nsae Nsea Neas Nesa aNse aNes asNe aseN aeNs aesN sNae sNea saNe saeN seNa seaN eNas eNsa eaNs easN esNa esaN.

Wie gelingt mir das?
Ich sitze schon seit Stunden dran und komme nicht weiter
 
Was hast du den bisher erreicht, bzw. kannst du mal in Worten formulieren wie du es zu Fuss z.B. mit Bleistift & Papier lösen würdest?
 
Hierfür eignet sich ein rekursiver Ansatz, hier sei er wörtlich beschrieben:
* du hast einen Ergebniscontainer (z.B. List)
* du wiederholst den Vorgang für die Anzahl der Buchstaben:
** Setze das i-te Zeichen an erste Stelle vom String (swap)
** Lade rekursiv alle Permutationen des Substrings ab dem 2. Zeichen des Strings (Abbruchbedingung String hat nur 1 Zeichen, also nur die eine Permutation)
** Füge dem Container für jedes dieser Ergebnisse mehrere Einträge hinzu, in dem das erste Zeichen an allen möglichen Stellen eingefügt wurde
* Gib den Container zurück
 

Neue Themen


Zurück
Oben