APL
Was ist APL?
Beispiele
APL-Systeme
Bibliographie
APL-Links
Kontakt
Funstuff

zurück zum vorherigen Beispiel


Permutationen

Die Funktion "PM" ermittelt alle Permutationen eines übergebenen Vektors. Sie benötigt eine Hilfsfunktion, "PUTIN" genannt.

PM ist rekursiv. An der direkten Umsetzung der rekursiven Definition zeigt sich auch der teilweise funktionale Charakter von APL.

 

Der Algorithmus von "PM":

1. Die Permutationsmenge eines Vektors p mit Länge 1 ist der Vektor p selbst. (Zeile 1)

2. Die Permutationsmenge eines Vektors p mit Länge >1 bilde folgendermaßen: (Zeile 2)

a. Teile den Vektor in das erste Element t  und den Restvektors r.

b. Ermittle alle Permutationen von r.

c. Erzeuge Varianten von jeder Permutation von r mit t an jeder möglichen Position jeder Permutation.




Die Hilfsfunktion "PUTIN", die für einen übergebenen Vektor (rechtes Argument) und ein einzusetzendes Element (linkes Argument), alle Einsetzmöglichkeiten ermittelt (für einen Vektor mit Länge m genau m+1 Möglichkeiten).




weiter


Login:
Password:
made with