permutation
is all possible arrangements of a collection of things, where the order is
important. If the order does not matter, it is a Combination.
for Example,
All
the permutations for {a,b,c} are 6. Those are {a,b,c} {a,c,b} {b,a,c} {b,c,a}
{c,a,b} {c,b,a}
import org.paukov.combinatorics.Factory; import org.paukov.combinatorics.Generator; import org.paukov.combinatorics.ICombinatoricsVector; public class PermutationEx { public static void main(String args[]) { // Create the initial vector of 3 elements (apple, orange, cherry) ICombinatoricsVector<String> originalVector = Factory.createVector(new String[]{"a", "b", "c"}); // Create the permutation generator by calling the appropriate method in the Factory class Generator<String> gen = Factory.createPermutationGenerator(originalVector); // Print the result for (ICombinatoricsVector<String> perm : gen) { //System.out.println(perm); System.out.println(perm.getVector().toString()); } } }
Output
[a, b, c] [a, c, b] [c, a, b] [c, b, a] [b, c, a] [b, a, c]
Permutations with
repetitions
import org.paukov.combinatorics.Factory; import org.paukov.combinatorics.Generator; import org.paukov.combinatorics.ICombinatoricsVector; public class PermutationEx { public static void main(String args[]) { // Create the initial vector of 3 elements (apple, orange, cherry) ICombinatoricsVector<String> originalVector = Factory.createVector(new String[]{"a", "b", "c"}); // Create the permutation generator by calling the appropriate method in the Factory class Generator<String> gen = Factory.createPermutationWithRepetitionGenerator(originalVector, 3); // Print the result for (ICombinatoricsVector<String> perm : gen) { //System.out.println(perm); System.out.println(perm.getVector().toString()); } } }
Output
[a, a, a] [b, a, a] [c, a, a] [a, b, a] [b, b, a] [c, b, a] [a, c, a] [b, c, a] [c, c, a] [a, a, b] [b, a, b] [c, a, b] [a, b, b] [b, b, b] [c, b, b] [a, c, b] [b, c, b] [c, c, b] [a, a, c] [b, a, c] [c, a, c] [a, b, c] [b, b, c] [c, b, c] [a, c, c] [b, c, c] [c, c, c]
Prevoius Next Home
No comments:
Post a Comment