#permutations #lexicographic #permutation #no-std #heaps-algorithm

no-std permutohedron

Generate permutations of sequences. Either lexicographical order permutations, or a minimal swaps permutation sequence implemented using Heap's algorithm.

13 releases

Uses old Rust 2015

0.2.4 Nov 11, 2017
0.2.3 Nov 11, 2017
0.2.2 Oct 12, 2016
0.2.1 Feb 16, 2016
0.1.4 Jun 30, 2015

#464 in Algorithms

Download history 3577/week @ 2023-12-17 1427/week @ 2023-12-24 2913/week @ 2023-12-31 3845/week @ 2024-01-07 4272/week @ 2024-01-14 4380/week @ 2024-01-21 4317/week @ 2024-01-28 4305/week @ 2024-02-04 3238/week @ 2024-02-11 3753/week @ 2024-02-18 4546/week @ 2024-02-25 5116/week @ 2024-03-03 3804/week @ 2024-03-10 4498/week @ 2024-03-17 4452/week @ 2024-03-24 4452/week @ 2024-03-31

17,411 downloads per month
Used in 61 crates (18 directly)

MIT/Apache

18KB
310 lines

permutohedron

Generate permutations of sequences.

Please read the API documentation here

build_status

How to use with cargo:

[dependencies]
permutohedron = "0.2"

Recent Changes

  • 0.2.4
    • Document a panic case in Heap::new that was not mentioned before
  • 0.2.3
    • Add license files to the repo and package, thanks to @ignatenkobrain
  • 0.2.2
    • Add trait ControlFlow and allow optionally terminating heap_recursive early.
  • 0.2.1
    • Add feature std (enabled by default) that allows you to opt out of using libstd.
  • 0.2.0
    • Add trait LexicalPermutation for lexicographical order of permutations, from Rust's libcore
  • 0.1.6
    • Small optimization of heap_recursive
  • 0.1.5
    • Cache-use / data layout optimizations for Heap
  • 0.1.4
    • Optimizations for Heap
  • 0.1.3
    • Fix an error in heap_recursive
  • 0.1.1
    • Add heap_recursive, a faster callback-based version of Heap's algorithm that can compute permutations of a sequence.
  • 0.1.0
    • Add Heap, an iterative walker & iterator using Heap's algorithm to compute permutations of a sequence.

License

Dual-licensed to be compatible with the Rust project.

Licensed under the Apache License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0 or the MIT license http://opensource.org/licenses/MIT, at your option. This file may not be copied, modified, or distributed except according to those terms.

No runtime deps

Features