non-recursive library to find permutations, combinations, product
Both Algorithms are searching for the permutation without repetition of n different digits
i.e. n=3
[0, 1, 2]
[0, 1, 3]
...
[0, 2, 9]
[0, 3, 1]
[0, 3, 2]
...
[9, 8, 6]
[9, 8, 7]
To compare Backtracking and Linear Algorithms you can run "ant test" in your console (on my machine it works a minute).
ant jar creates a library and puts it to the release folder
- Release 0.0.2
Added Backtracking.permutations and Backtracking.product methods
String[] p_without_repetitions = Backtracking.permutations(new String[]{"A","B","C","D"}, 2);
System.out.println(Arrays.toString(p_without_repetitions));
String[] p_with_repetitions = Backtracking.product(new String[]{"A","B","C","D"}, 2);
System.out.println(Arrays.toString(p_with_repetitions));
String[] combinations = combinations(new String[]{"A","B","C","D"}, 2);
System.out.println(Arrays.toString(combinations));
- Release 0.0.3
Added Backtracking.combinations and Backtracking.is_sorted methods
------------------------------------------------|--------------------------------------------------
permutations(new String[]{"A","B","C","D"}, 2); | [ A B , A C , A D , B A , B C , B D ,
| C A , C B , C D , D A , D B , D C ]
product(new String[]{"A","B","C","D"}, 2); | [ A A , A B , A C , A D , B A , B B , B C , B D ,
| C A , C B , C C , C D , D A , D B , D C , D D ]
combinations(new String[]{"A","B","C","D"}, 2); | [ A B , A C , A D , B C , B D , C D ]