2 releases
| 0.1.1 | Feb 24, 2023 |
|---|---|
| 0.1.0 | Feb 24, 2023 |
#36 in #modification
6KB
93 lines
permutations_iter
An iterative permutation generator without recursion for Rust.
Iterator Permutations::of(n) generates permutations of 0..n iteratively using
Steinhaus-Johnson-Trotter algorithm with Even's modification.
Each next() call has $O(n)$ time and space complexity.
Not optimized. At all. Any improvements are welcome.
Published under MIT license.
lib.rs:
Generate permutations iteratively without recursion.
Permutations.of(n) function generates an iterator instance for permutations of 0..n.
Permutations.next() uses Steinhaus-Johnson-Trotter algorithm with Even's modification to generate the next permutation
in $O(n)$ time.
Each iterator is one-way. You need to construct a new one for iterating again.