Opgave

Implementeer Python-functies voor het genereren van permutaties van de lijst [1,…,n] in lexicografische volgorde:

Voorbeelden

>>> permLexRank(3, [2, 1, 3])
2
>>> permLexRank(4, [2, 4, 1, 3])
10
>>> permLexUnrank(3, 2)
[2, 1, 3]
>>> permLexUnrank(4, 10)
[2, 4, 1, 3]
>>> permLexSuccessor(3, [2, 1, 3])
[2, 3, 1]
>>> permLexSuccessor(3, [3, 2, 1])
"undefined"

Referentie