虽然我知道如何生成所有 ( n
choose k
) 大小n
的位串,位串完全k
设置为 1,但我正在努力寻找一个双射,它以和 ( choose )i
之间的数字作为输入,并在一个任意排序。1
n
k
i
显然,可以简单地枚举列表中的所有向量,然后输出列表的i
第 - 个条目,但不幸的是,这种方法对我的设置有很高的内存要求。
编辑:它也应该是一种有效的计算,计算每次调用双射的所有向量列表也不是一种选择。
虽然我知道如何生成所有 ( n
choose k
) 大小n
的位串,位串完全k
设置为 1,但我正在努力寻找一个双射,它以和 ( choose )i
之间的数字作为输入,并在一个任意排序。1
n
k
i
显然,可以简单地枚举列表中的所有向量,然后输出列表的i
第 - 个条目,但不幸的是,这种方法对我的设置有很高的内存要求。
编辑:它也应该是一种有效的计算,计算每次调用双射的所有向量列表也不是一种选择。