permutation-rank
Ranks and unranks permutations
Last updated 11 years ago by mikolalysenko .
MIT · Repository · Bugs · Original npm
$ cnpm install permutation-rank 
SYNC missed versions from official npm registry.

permutation-rank

Ranks and unranks permutations. Based on the following paper:

W. Myrvold, F. Ruskey. (2000) "Ranking and Unranking Permutations in Linear Time". Information Processing Letters.

Usage

First install using npm:

npm install permutation-rank

Then you can use it like this:

var prank = require("permutation-rank")
var perm = [0,3,1,2]
var r = prank.rank(perm)
console.log("r = ", r)
var u = prank.unrank(perm.length, r)
console.log("u = ", u)

//Prints:
//        r =  15
//        u =  [ 0, 3, 1, 2 ]

prank.rank(permutation)

Computes an integer representing the colexicographic rank of the permutation

  • permutation is an array encoding some permutation

Returns An integer representing the ranked encoding of the permutation

prank.unrank(length, rank[, result])

Computes a permutation from a rank order with the given length

  • length is the length of the permuation
  • rank is the index of the permutation
  • result is an optional argument which stores the result of the inversion

Returns The permutation at the given rank

Credits

(c) 2013 Mikola Lysenko. MIT License

Current Tags

  • 1.0.0                                ...           latest (11 years ago)

1 Versions

  • 1.0.0                                ...           11 years ago
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (2)
Dev Dependencies (1)
Dependents (0)
None

Copyright 2013 - present © cnpmjs.org