Mailinglisten-Archive |
On Mi, 16.01.2008, 14:45, Norbert Pfeiffer wrote: > Hallo, > > es sollen aus den Buchstaben A,B,C,D,E Strings gebildet werden, > in denen kein Buchstabe zweimal vorkommt. Und nun gruebele ich, > welche Methode perfomanter sein koennte: > a - alle Moeglichkeiten durchlaufen und auf Dubletten testen > b - Dubletten von vorne herein ausschliessen > > zu a faellt mir gerade keine gute Abfrage ein, > und b ist IMHO etwas umstaendlich zu coden ... > > Hat jemand eine bessere Idee ... > > Moin Norbert, ich denke, Deine Fragestellung musst Du noch etwas präzisieren: Suchst Du ein paar zufällige Kombinationen oder suchst Du systematisch alle möglichen Permutationen? Rekursiver Algorithmus zur Berechnung der Permutationen: (i – 1) Komponenten von P sind bereits besetzt, i - te Komponente wird behandelt: 1. i > 5: Permutation wird ausgegeben. 2. i ≤ 5: Für alle Elemente z aus A,B,C,D,E Ist ein Element z erlaubt, d.h. nicht in P[1],...,P[i-2] , dann a) P[i-1] = z , i Komponenten von P sind damit besetzt und b) (i+1) - te Komponente wird behandelt. (Rekursion) irgendwie so müsste es gehen.... Gruß, Boris
php::bar PHP Wiki - Listenarchive