Permutations is a project mainly written in C++ and LUA, it's free.
Implementations of various generating permutations algorithms in some common languages
Given n
, generate all permutations from the string of size n
that starts
with 'a'
to char('a' + n)
next_permutation
functionBenchmarking is done for n = 11
. Time measured in seconds.
Algorithm | C++ | Lua | Haskell |
---|---|---|---|
HeapPermute | 3 | 54 | |
Exeter | 3 | 59 | |
Bogomolny | 7 | 60 | |
Spreading | 8 | 63 | |
JohnsonTrotter | 9 | 71 | |
InverseSelect | 15 | 70 | |
Factoradic | 21 | 84 | |
Builtin | 7 | 16 | |
Injection | 19 | ||
Select | 22 |
Algorithm | C++ | Lua | Haskell |
---|---|---|---|
HeapPermute | 44 | ||
Exeter | 25 | ||
Bogomolny | 26 | ||
Spreading | 29 | ||
JohnsonTrotter | 26 | ||
InverseSelect | 42 | ||
Factoradic | 51 | ||
Builtin | 44 | ||
Injection | 46 | ||
Select | 49 |