Opgave

Implementeer Python-functies voor het genereren van k-deelverzamelingen van {1..n} in lexicografische en co-lexicografische volgorde:

Voorbeelden

>>> kSubsetLexRank(5, 3, [1, 2, 5])
2
>>> kSubsetLexUnrank(5, 3, 2)
[1, 2, 5]
>>> kSubsetLexSuccessor(5, 3, [1, 2, 5])
[1, 3, 4]
>>> kSubsetLexSuccessor(5, 3, [3, 4, 5])
"undefined"
>>> kSubsetColexRank(5, 3, [4, 3, 2])
3
>>> kSubsetColexUnrank(5, 3, 3)
[4, 3, 2]
>>> kSubsetColexSuccessor(5, 3, [4, 3, 2])
[5, 2, 1]

Referentie