Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
Delphi 7 Professional
|
AW: Suche schnellen kombinatorischen Algorithmus
18. Feb 2011, 18:14
Also einen wunderbar schnellen Algorithmus dafür wird es nicht geben, weil schon alleine das Ergebnis nicht in eine String-Liste passt. Mit 7,92e28 (4^48) Möglichkeiten ist das weit mehr, als in ein Array (32-Bit System) jemals reinpasst (2^31-1 Speicherplätze).
Was du vielleicht machen kannst, ist: Statt einer String-Liste ein Array verwenden, und diesem vorher die Länge zuweisen (du kannst sie ja berechnen). So muss das Array nicht bei jedem .Add() um ein Element vergrößert werden (Eine Liste ist intern ein Array).
Bernhard
PS: Das Ergebnis oben muss nicht unbedingt stimmen. Ich habe nur für deine 4 Elemente auf 48 Positionen verteilt die Anzahl der Möglichkeiten berechnet. Willst du auch noch deine 4 Elemente auf 47, 46, ..., 2, 1 Positionen verteilen musst du mit dem 5-fachen rechnen.
Bernhard Iliacos intra muros peccatur et extra!
|