Det du søger er samtlige mulige permutationer af et sæt,
s. Jeg har selv for nyligt haft brug for noget lignende og implementeret to algoritmer i javascript til at løse problemet. Mine algoritmer er generelle og kan bruges på alle typer objekter, men du skal vide at der findes mere effektive algoritmer når du kan håndtere strenge. (Se på Kleene's Star operator)
Se på funktionerne k_combinations og permutate her:
https://github.com/saebekassebil/piu/blob/master/lib/combinatorics.js#L2- permutate(['a', 'b', 'c', 'd']).join('\n');
- // -->
- "a,b,c,d
- a,b,d,c
- a,c,b,d
- a,c,d,b
- a,d,c,b
- a,d,b,c
- b,a,c,d
- b,a,d,c
- b,c,a,d
- b,c,d,a
- b,d,c,a
- b,d,a,c
- c,b,a,d
- c,b,d,a
- c,a,b,d
- c,a,d,b
- c,d,a,b
- c,d,b,a
- d,b,c,a
- d,b,a,c
- d,c,b,a
- d,c,a,b
- d,a,c,b
- d,a,b,c"
Indlæg senest redigeret d. 31.07.2013 13:22 af Bruger #11328